NC6.x发布WebService接口

  1. 首先将nc.uap.mde.wstools_2.0.2.jar 放到UAP Studio下的
    \UAP-STUDIO\Platform\dropins\J_Plugins\plugins目录下。
    NC6.x发布WebService接口_第1张图片
  2. 创建一个Webservice接口和实现类。
package nc.itf.test.app;
public interface LoginItf {
	public String login(String uname, String pwd);
}
package nc.impl.test.app;
import nc.itf.test.app.LoginItf;
public class LoginImpl implements LoginItf {
	@Override
	public String login(String uname, String pwd) {
		return uname + ",hello webservice! your password is " + pwd;
	}
}
  1. 创建upm文件(此处示例用Login.upm)


 
  
   nc.itf.test.app.LoginItf
   nc.impl.test.app.LoginImpl
  
 

  1. 发布WebService,如图:
    NC6.x发布WebService接口_第2张图片
    NC6.x发布WebService接口_第3张图片
    NC6.x发布WebService接口_第4张图片

NC6.x发布WebService接口_第5张图片

NC6.x发布WebService接口_第6张图片
完成!
5. 原来的upm文件,在发布后发生了变化,多出了webservice接口信息;然后我们把接口、接口实现类、生成的wsdl文件,还有upm,打到我们的NChome里面去进行部署。部署完,就可以启动开发环境,查看我们的接口是否发布成功。

  1. 打补丁时要注意,将新生成的wsdl文件与接口文件放在同一路径下。
    NC6.x发布WebService接口_第7张图片

  2. 启动好开发环境,我们可以在浏览器输入http://127.0.0.1/uapws/service 查看我们发布的接口
    客户端调用代码

package nc.bs.test.webservice;
import java.rmi.RemoteException;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import com.alibaba.fastjson.JSONObject;
public class Test {
 public static void main(String[] args) throws ServiceException, RemoteException {
  // 远程调用url 后面不用加?wsdl 应改为.wsdl
  String url = "http://192.168.18.110:8005/uapws/service/bpm.itf.dev.IUpdateBillStatus.wsdl";
  // 生成wsdl里的名称空间
  String namespace = "http://dev.itf.bpm/IUpdateBillStatus";
  String methodname = "upadteApprovalMessage";
  Service service = new Service();
  Call call = (Call) service.createCall();
  call.setTargetEndpointAddress(url); //设置请求路径
  call.setOperationName(new QName(namespace, methodname)); //调用的方法名
  call.setTimeout(Integer.valueOf(2000)); //设置请求超时
  // 添加入参
  call.addParameter(new QName(namespace, "receiver"), XMLType.XSD_STRING, ParameterMode.IN);
  call.addParameter(new QName(namespace, "billid"), XMLType.XSD_STRING, ParameterMode.IN);
  call.addParameter(new QName(namespace, "billtype"), XMLType.XSD_STRING, ParameterMode.IN);
  call.addParameter(new QName(namespace, "billcode"), XMLType.XSD_STRING, ParameterMode.IN);
  call.addParameter(new QName(namespace, "act"), XMLType.XSD_STRING, ParameterMode.IN);
  call.addParameter(new QName(namespace, "workitem"), XMLType.XSD_STRING, ParameterMode.IN);
  call.setReturnType(XMLType.XSD_STRING);//设置返回类型
  // 传入实参并调用
  String result = (String) call.invoke(new Object[] {"","","","","",""});
 }
}

你可能感兴趣的:(开发笔记,NC)