String url = "http://www.fy114.com.cn/ECardUp/ECardUpService.asmx"
Service s = new Service()
Call call = (Call) s.createCall()
call.setTargetEndpointAddress(url)
call.setOperationName(new QName("http://www.fy114.com.cn/", "ProcMain"))
call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS)
call.addParameter(new QName("http://www.fy114.com.cn/", "Department"), XMLType.XSD_STRING,ParameterMode.IN)
call.addParameter(new QName("http://www.fy114.com.cn/", "UserID"), XMLType.XSD_STRING,ParameterMode.IN)
call.addParameter(new QName("http://www.fy114.com.cn/", "PSW"), XMLType.XSD_STRING,ParameterMode.IN)
call.addParameter(new QName("http://www.fy114.com.cn/", "OPType"), XMLType.XSD_BYTE,ParameterMode.IN)
call.addParameter(new QName("http://www.fy114.com.cn/", "sXML"), XMLType.XSD_STRING,ParameterMode.IN)
call.addParameter(new QName("http://www.fy114.com.cn/", "rXML"), XMLType.XSD_STRING,ParameterMode.OUT)
call.setReturnType(XMLType.XSD_BOOLEAN)
Object[] params = {"", "", "", OPType, outputStream.toString()}
Boolean result = (Boolean)call.invoke(params)
Map output = call.getOutputParams()
- 若.net端设置了命名空间,则使用setOperationName和addParameter方法时也一定要加上命名空间,否则会造成连接不上和参数传递不过去的问题
- 获取函数返回值用call.invoke(params)
- 获取输出参数用call.getOutputParams()