解决方案 »

  1.   

    再提供一些详细信息:
    wsdl详细:
    <wsdl:definitions xmlns:ns2="http://model.fineway.com" xmlns:ns1="http://param.ws.fineway.com" xmlns:ns3="http://enums.model.fineway.com" xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" xmlns:tns="http://ws.fineway.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" targetNamespace="http://ws.fineway.com">
    <wsdl:types>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://param.ws.fineway.com">
    <xsd:complexType name="Unit8DynamicDataRequestParams">
    <xsd:sequence>
    <xsd:element minOccurs="0" name="eqId" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="pageNo" type="xsd:int"/>
    <xsd:element minOccurs="0" name="pageSize" type="xsd:int"/>
    <xsd:element minOccurs="0" name="searchText" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="total" type="xsd:int"/>
    <xsd:element minOccurs="0" name="types" nillable="true" type="xsd:string"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://ws.fineway.com">
    <xsd:element name="searchUnit8DynamicDataList">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true" type="ns1:Unit8DynamicDataRequestParams"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="searchUnit8DynamicDataListResponse">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element maxOccurs="1" minOccurs="1" name="out" nillable="true" type="ns2:PagingResult"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://model.fineway.com">
    <xsd:complexType name="PagingResult">
    <xsd:sequence>
    <xsd:element minOccurs="0" name="pageInfo" nillable="true" type="ns2:PageInfo"/>
    <xsd:element minOccurs="0" name="resultList" nillable="true" type="ns2:ArrayOfDynamicData"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="PageInfo">
    <xsd:sequence>
    <xsd:element minOccurs="0" name="pageNo" type="xsd:int"/>
    <xsd:element minOccurs="0" name="pageSize" type="xsd:int"/>
    <xsd:element minOccurs="0" name="total" type="xsd:int"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ArrayOfDynamicData">
    <xsd:sequence>
    <xsd:element maxOccurs="unbounded" minOccurs="0" name="DynamicData" nillable="true" type="ns2:DynamicData"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="DynamicData">
    <xsd:sequence>
    <xsd:element minOccurs="0" name="alias" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="createTime" type="xsd:dateTime"/>
    <xsd:element minOccurs="0" name="dataDetail" nillable="true" type="ns2:DynamicDataDetail"/>
    <xsd:element minOccurs="0" name="id" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="isDel" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="isPublic" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="name" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="ownUsers" nillable="true" type="ns2:ArrayOfUser"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ArrayOfUser">
    <xsd:sequence>
    <xsd:element maxOccurs="unbounded" minOccurs="0" name="User" nillable="true" type="ns2:User"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="User">
    <xsd:sequence>
    <xsd:element minOccurs="0" name="createTime" type="xsd:dateTime"/>
    <xsd:element minOccurs="0" name="id" nillable="true" type="xsd:int"/>
    <xsd:element minOccurs="0" name="password" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="state" nillable="true" type="ns3:State"/>
    <xsd:element minOccurs="0" name="stopTime" type="xsd:dateTime"/>
    <xsd:element minOccurs="0" name="userMessage" nillable="true" type="ns2:UserMessage"/>
    <xsd:element minOccurs="0" name="userName" nillable="true" type="xsd:string"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="UserMessage">
    <xsd:sequence>
    <xsd:element minOccurs="0" name="cardNumber" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="department" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="departmentCode" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="doId" nillable="true" type="xsd:int"/>
    <xsd:element minOccurs="0" name="email" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="extend" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="id" nillable="true" type="xsd:int"/>
    <xsd:element minOccurs="0" name="mobile" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="name" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="officeNumber" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="organization" nillable="true" type="ns2:Organization"/>
    <xsd:element minOccurs="0" name="position" nillable="true" type="xsd:string"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="Organization">
    <xsd:sequence>
    <xsd:element minOccurs="0" name="code" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="id" nillable="true" type="xsd:int"/>
    <xsd:element minOccurs="0" name="name" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="otype" nillable="true" type="xsd:int"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="DynamicDataDetail">
    <xsd:sequence>
    <xsd:element minOccurs="0" name="address" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="creator" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="dataItem" nillable="true" type="xsd:long"/>
    <xsd:element minOccurs="0" name="dataSize" nillable="true" type="xsd:double"/>
    <xsd:element minOccurs="0" name="dataType" nillable="true" type="ns2:DataType"/>
    <xsd:element minOccurs="0" name="detail" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="eqBasic" nillable="true" type="ns2:EQBasic"/>
    <xsd:element minOccurs="0" name="eqId" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="id" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="isSys" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="needer" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="responsible" nillable="true" type="xsd:string"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="EQBasic">
    <xsd:sequence>
    <xsd:element minOccurs="0" name="address" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="eqDepth" type="xsd:float"/>
    <xsd:element minOccurs="0" name="eqDirection" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="eqId" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="eqLatitude" type="xsd:double"/>
    <xsd:element minOccurs="0" name="eqLongitude" type="xsd:double"/>
    <xsd:element minOccurs="0" name="eqMag" type="xsd:float"/>
    <xsd:element minOccurs="0" name="eqTime" type="xsd:dateTime"/>
    <xsd:element minOccurs="0" name="pictureAddress" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="provinceList" nillable="true" type="ns2:ArrayOfOrganization"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ArrayOfOrganization">
    <xsd:sequence>
    <xsd:element maxOccurs="unbounded" minOccurs="0" name="Organization" nillable="true" type="ns2:Organization"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="DataType">
    <xsd:sequence>
    <xsd:element minOccurs="0" name="id" nillable="true" type="xsd:int"/>
    <xsd:element minOccurs="0" name="name" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="node" nillable="true" type="xsd:string"/>
    <xsd:element minOccurs="0" name="superId" nillable="true" type="xsd:int"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://enums.model.fineway.com">
    <xsd:simpleType name="State">
    <xsd:restriction base="xsd:string">
    <xsd:enumeration value="ACTIVE"/>
    <xsd:enumeration value="INACTIVE"/>
    </xsd:restriction>
    </xsd:simpleType>
    </xsd:schema>
    </wsdl:types>
    <wsdl:message name="searchUnit8DynamicDataListResponse">
    <wsdl:part name="parameters" element="tns:searchUnit8DynamicDataListResponse"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="searchUnit8DynamicDataListRequest">
    <wsdl:part name="parameters" element="tns:searchUnit8DynamicDataList"></wsdl:part>
    </wsdl:message>
    <wsdl:portType name="DynamicDataWebServicePortType">
    <wsdl:operation name="searchUnit8DynamicDataList">
    <wsdl:input name="searchUnit8DynamicDataListRequest" message="tns:searchUnit8DynamicDataListRequest"></wsdl:input>
    <wsdl:output name="searchUnit8DynamicDataListResponse" message="tns:searchUnit8DynamicDataListResponse"></wsdl:output>
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="DynamicDataWebServiceHttpBinding" type="tns:DynamicDataWebServicePortType">
    <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="searchUnit8DynamicDataList">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="searchUnit8DynamicDataListRequest">
    <wsdlsoap:body use="literal"/>
    </wsdl:input>
    <wsdl:output name="searchUnit8DynamicDataListResponse">
    <wsdlsoap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="DynamicDataWebService">
    <wsdl:port name="DynamicDataWebServiceHttpPort" binding="tns:DynamicDataWebServiceHttpBinding">
    字数有限制,省掉若几行
      

  2.   

    这是用xfire发布服务的配置文件:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
        "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
        <!-- 引入XFire预配置信息 -->
        <import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
        <!--定义访问的url-->
        <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
           <property name="urlMap">             
               <map>                 
                  <entry key="/DataTransportService.ws">                  
                      <ref bean="dataTransportService" />                 
                  </entry>             
                  <entry key="/DynamicDataWebService.ws">                  
                      <ref bean="dynamicDataWebService" />                 
                  </entry>             
               </map>         
           </property>
        </bean>         <!-- 使用XFire导出器 -->
        <bean id="baseWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter" lazy-init="false" abstract="true">
           <!-- 引用xfire.xml中定义的工厂 -->
           <property name="serviceFactory" ref="xfire.serviceFactory" />
           <!-- 引用xfire.xml中的xfire实例 -->
           <property name="xfire" ref="xfire" />
        </bean>
        
        <bean id="dataTransportService" parent="baseWebService">
           <!-- 业务服务bean -->
           <property name="serviceBean" ref="dataTransportBean" />
           <!-- 业务服务bean的窄接口类 -->
           <property name="serviceClass" value="com.fineway.ws.DataTransport" />
        </bean>
        
        <bean id="dynamicDataWebService" parent="baseWebService">
           <!-- 业务服务bean -->
           <property name="serviceBean" ref="dynamicDataWebServiceBean" />
    <!--        <property name="implementationClass" value="com.fineway.ws.DynamicDataWebServiceImpl" /> -->
           <!-- 业务服务bean的窄接口类 -->
           <property name="serviceClass" value="com.fineway.ws.DynamicDataWebService" />
           
           <property name="name" value="DynamicDataWebService"/>  
           
        </bean>
    </beans>
      

  3.   

    PS:已经试了无论是xfire还是Axis2,传统方式调用都会出错。唯独xfire的XmlReader参数方式调用可以成功,即:Object[] org.codehaus.xfire.client.Client.invoke(String name, XMLStreamReader reader) throws Exception
    所以请问各位熟悉Axis2或者java原生方式的朋友,有没有类似的直接传XML的方式方法??
      

  4.   

    使​用​A​x​i​s​和​x​f​i​r​e​发​布​调​用​W​e​b​S​e​r​v​i​c​e​shttp://download.csdn.net/detail/baohuan_love/7192195,应该可以解决你的问题。
      

  5.   

    实在不行 http 读 ,不用 soap ,wsdl
      

  6.   

    用wsdl2java根据wsdl生成客户端代码直接调用生成的客户端代码可以啊
      

  7.   

    axis 、axis2、cxf 这3种都可以用Eclipse开发服务端和客户端