H5W3
当前位置:H5W3 > 其他技术问题 > 正文

java用soap方法调用C#写的webservice接口,需要得到的数据在C#方法的输出参数中,请问java怎么取到?

下面是接口文档:
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#输出参数中的值

本文地址:H5W3 » java用soap方法调用C#写的webservice接口,需要得到的数据在C#方法的输出参数中,请问java怎么取到?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址