用添加服务引用或者生成代理类的方式,webservice的函数的入参跟出参都跟描述不同?

时间:2022-03-14 21:08:48
服务是用java做的,引用服务后,调用里面的函数,但是函数的入参跟出参都跟描述文档不一样
有的函数没有入参,但是依然有入参。我是新手,不知怎么应付了。。。跟对方说他们给的地址没问题。。
截个图。
用添加服务引用或者生成代理类的方式,webservice的函数的入参跟出参都跟描述不同?
用添加服务引用或者生成代理类的方式,webservice的函数的入参跟出参都跟描述不同?

下面是对方给的地址在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>

3 个解决方案

#1


从wsdl看PROC_OR_GETPATIENTLIST_FK是有参数的没有问题啊。

#2


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>


看起来没有问题啊

#3


请问一下写这个服务的工具叫什么,我想学习一下。

#1


从wsdl看PROC_OR_GETPATIENTLIST_FK是有参数的没有问题啊。

#2


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>


看起来没有问题啊

#3


请问一下写这个服务的工具叫什么,我想学习一下。