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;
}
}
nc.itf.test.app.LoginItf
nc.impl.test.app.LoginImpl
完成!
5. 原来的upm文件,在发布后发生了变化,多出了webservice接口信息;然后我们把接口、接口实现类、生成的wsdl文件,还有upm,打到我们的NChome里面去进行部署。部署完,就可以启动开发环境,查看我们的接口是否发布成功。
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[] {"","","","","",""});
}
}