下面是接口文档:
Webservice地址:http://172.16.173.88:8081/Service1.asmx?wsdl
统一调用方法名:
string Request(string MethodName, string inParaXml, out ref string outParaXml)
MethodName = 命名空间 + “.”+ 方法名
Eg: 病人基本信息BRJBXX
Request(“HisSvr.GetBRJBXXInfo” , inParaXml , out outParaXml)
入参inParaXml :
<?xml version='1.0' encoding='utf-8' ?>
<Items>
<Item>
<strStartDate>2016-10-14 09:06:10</strStartDate>
<strEndDate>2016-10-14 09:08:01</strEndDate>
<strIndex>697386</strIndex>
<strParm></strParm>
</Item>
</Items>
出参<outParaXml>:
<![CDATA[
<?xml version='1.0' encoding='utf-8' ?>
<DataSet>
<TableName="BRJBXXList">
<Row>
<BAH>314586</BAH><ZYH>697386</ZYH><BFH>143</BFH><CWH>5B+37</CWH><GCYSBM></GCYSBM><GCYSMC></GCYSMC><RYRQ>2016/10/13 7:57:00</RYRQ><CYRQ>2016/10/17 16:54:27</CYRQ><BRXM>李宁宁</BRXM><BRXB>女</BRXB><CSRQ>1985/6/5 0:00:00</CSRQ><NL>31岁</NL><BRTZ>0</BRTZ><GMYWBM></GMYWBM><GMYWMC></GMYWMC><RYKSBM>264</RYKSBM><RYKSMC>产前</RYKSMC><DQKSBM>143</DQKSBM><DQKSMC>爱婴区</DQKSMC><CYKSBM>143</CYKSBM><CYKSMC>爱婴区</CYKSMC><RYZDBM></RYZDBM><RYZDMC></RYZDMC><SSZDBM></SSZDBM><SSZDMC></SSZDMC><BLZDBM></BLZDBM><BLZDMC></BLZDMC><GRZDBM></GRZDBM><GRZDMC></GRZDMC><CYZDBM>83895</CYZDBM><CYZDMC>轻度贫血</CYZDMC><JRZLBZ></JRZLBZ><GRBZ></GRBZ><XSRBZ></XSRBZ>
</Row>
</Table>
</DataSet>
]]>
</outParaXml>
java调用方法为:
public static void test3() {
Service service = new Service();
Call call;
try {
call = (Call) service.createCall();
call.setTargetEndpointAddress(url);
call.setUseSOAPAction(true);
call.setSOAPActionURI(soapActionURI);
call.setOperationName(new QName(namespace, methodName));
call.addParameter(new QName(namespace, "MethodName"), XMLType.XSD_STRING,
ParameterMode.IN);// 接口的参数
call.addParameter(new QName(namespace, "inParaXml"), XMLType.XSD_STRING,
ParameterMode.IN);// 接口的参数
call.addParameter(new QName(namespace, "outParaXml"), XMLType.XSD_STRING,
ParameterMode.IN);// 接口的参数
call.setReturnType(XMLType.XSD_STRING);
String inparam = "<?xml version='1.0' encoding='utf-8' ?>"+
"<Items>"+
"<Item>"+
"<strStartDate>2016-10-14 09:06:10</strStartDate>"+
"<strEndDate>2016-10-14 09:08:01</strEndDate>"+
"<strIndex>697386</strIndex>"+
"<strParm></strParm>"+
"</Item>"+
"</Items>";
String out=null;
String result = (String) call.invoke(new Object[] {"HisSvr.GetBRJBXXInfo",inparam,out });
System.out.println(out);
System.out.println(result);
} catch (ServiceException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
}
}
现在接口是连接上的,但是我不知道怎么通过java取到C#输出参数中的值