服务是用java做的,引用服务后,调用里面的函数,但是函数的入参跟出参都跟描述文档不一样
有的函数没有入参,但是依然有入参。我是新手,不知怎么应付了。。。跟对方说他们给的地址没问题。。
截个图。
下面是对方给的地址在IE上出现的页面。
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions xmlns:tns="http://ws.server.himap.com/PROC_OR_GETPATIENTLIST_FK" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" name="himapEntryService" targetNamespace="http://ws.server.himap.com/PROC_OR_GETPATIENTLIST_FK">
- <wsdl:types>
- <xs:schema xmlns:tns="http://ws.server.himap.com/PROC_OR_GETPATIENTLIST_FK" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ws.server.himap.com/PROC_OR_GETPATIENTLIST_FK" elementFormDefault="unqualified" version="1.0">
<xs:element name="PROC_OR_GETPATIENTLIST_FK_Request" type="tns:PROC_OR_GETPATIENTLIST_FK_Request" />
<xs:element name="PROC_OR_GETPATIENTLIST_FK_Response" type="tns:PROC_OR_GETPATIENTLIST_FK_Response" />
- <xs:complexType name="PROC_OR_GETPATIENTLIST_FK_Request">
- <xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="request" type="tns:PROC_OR_GETPATIENTLIST_FK_RequestRecord" />
</xs:sequence>
</xs:complexType>
- <xs:complexType name="PROC_OR_GETPATIENTLIST_FK_Response">
- <xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="response" type="tns:PROC_OR_GETPATIENTLIST_FK_ResponseRecord" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="PROC_OR_GETPATIENTLIST_FK_RequestRecord" />
- <xs:complexType name="PROC_OR_GETPATIENTLIST_FK_ResponseRecord">
- <xs:sequence>
<xs:element minOccurs="0" name="INSNO" type="xs:string" />
<xs:element minOccurs="0" name="NAME" type="xs:string" />
<xs:element minOccurs="0" name="SEX" type="xs:string" />
<xs:element minOccurs="0" name="BIRTHDAY" type="xs:string" />
<xs:element minOccurs="0" name="AGE" type="xs:string" />
<xs:element minOccurs="0" name="IDENNO" type="xs:string" />
<xs:element minOccurs="0" name="INDATE" type="xs:string" />
<xs:element minOccurs="0" name="DEPTNAME" type="xs:string" />
<xs:element minOccurs="0" name="DEPTCODE" type="xs:string" />
<xs:element minOccurs="0" name="OPSDOCNAME" type="xs:string" />
<xs:element minOccurs="0" name="BEDNO" type="xs:string" />
<xs:element minOccurs="0" name="HOUSEDOCNAME" type="xs:string" />
<xs:element minOccurs="0" name="HOUSEDOCCODE" type="xs:string" />
<xs:element minOccurs="0" name="INTIMES" type="xs:string" />
<xs:element minOccurs="0" name="INSOURCE" type="xs:string" />
<xs:element minOccurs="0" name="CLINICDIAGNOSE" type="xs:string" />
<xs:element minOccurs="0" name="FABO" type="xs:string" />
<xs:element minOccurs="0" name="FOPID" type="xs:string" />
<xs:element minOccurs="0" name="FOPNO" type="xs:string" />
<xs:element minOccurs="0" name="FOPNAME" type="xs:string" />
<xs:element minOccurs="0" name="FORID" type="xs:string" />
<xs:element minOccurs="0" name="FORNAME" type="xs:string" />
<xs:element minOccurs="0" name="PREDATE" type="xs:string" />
<xs:element minOccurs="0" name="WARDNO" type="xs:string" />
<xs:element minOccurs="0" name="INSTATE" type="xs:string" />
<xs:element minOccurs="0" name="PERSIONID" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
- <wsdl:message name="PROC_OR_GETPATIENTLIST_FK_Request">
<wsdl:part name="parameters" element="tns:PROC_OR_GETPATIENTLIST_FK_Request" />
</wsdl:message>
- <wsdl:message name="PROC_OR_GETPATIENTLIST_FK_Response">
<wsdl:part name="parameters" element="tns:PROC_OR_GETPATIENTLIST_FK_Response" />
</wsdl:message>
- <wsdl:portType name="PROC_OR_GETPATIENTLIST_FK">
- <wsdl:operation name="PROC_OR_GETPATIENTLIST_FK">
<wsdl:input name="PROC_OR_GETPATIENTLIST_FK_Request" message="tns:PROC_OR_GETPATIENTLIST_FK_Request" />
<wsdl:output name="PROC_OR_GETPATIENTLIST_FK_Response" message="tns:PROC_OR_GETPATIENTLIST_FK_Response" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="himapEntryServiceSoapBinding" type="tns:PROC_OR_GETPATIENTLIST_FK">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="PROC_OR_GETPATIENTLIST_FK">
<soap:operation soapAction="urn:PROC_OR_GETPATIENTLIST_FK" style="document" />
- <wsdl:input name="PROC_OR_GETPATIENTLIST_FK_Request">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="PROC_OR_GETPATIENTLIST_FK_Response">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="himapEntryService">
- <wsdl:port name="himapEntryPort" binding="tns:himapEntryServiceSoapBinding">
<soap:address location="http://192.168.10.200:8080/himapws/webServices/himapEntryPort" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
------解决思路----------------------
wsdl中的这部分就是说PROC_OR_GETPATIENTLIST_FK是个函数,他的参数是PROC_OR_GETPATIENTLIST_FK_Request,返回值是PROC_OR_GETPATIENTLIST_FK_Response
<wsdl:operation name="PROC_OR_GETPATIENTLIST_FK">
<wsdl:input name="PROC_OR_GETPATIENTLIST_FK_Request" message="tns:PROC_OR_GETPATIENTLIST_FK_Request" />
<wsdl:output name="PROC_OR_GETPATIENTLIST_FK_Response" message="tns:PROC_OR_GETPATIENTLIST_FK_Response" />
</wsdl:operation>
然后这里定义了PROC_OR_GETPATIENTLIST_FK_Request的类型是PROC_OR_GETPATIENTLIST_FK_RequestRecord的sequence,也就是数组。
<xs:complexType name="PROC_OR_GETPATIENTLIST_FK_Request">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="request" type="tns:PROC_OR_GETPATIENTLIST_FK_RequestRecord" />
</xs:sequence>
</xs:complexType>
看起来没有问题啊