`
wxb880114
  • 浏览: 683400 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

wsdl中,soapenc:string和soapenc:int是什么类型?

 
阅读更多
先看看下面的wsdl片段:
          
 <complexType name="OrderRelationUpdateNotifyRequest">
                <sequence>
                    <element name="recordSequenceId" nillable="true" type="soapenc:string"/>
                    <element name="userIdType" nillable="true" type="soapenc:int"/>
                    <element name="userId" nillable="true" type="soapenc:string"/>
                    <element name="serviceType" nillable="true" type="soapenc:string"/>
                    <element name="spId" nillable="true" type="soapenc:string"/>
                    <element name="productId" nillable="true" type="soapenc:string"/>
                    <element name="updateType" nillable="true" type="soapenc:int"/>
                    <element name="updateTime" nillable="true" type="soapenc:string"/>
                    <element name="updateDesc" nillable="true" type="soapenc:string"/>
                    <element name="linkId" nillable="true" type="soapenc:string"/>
                    <element name="content" nillable="true" type="soapenc:string"/>
                    <element name="effectiveDate" nillable="true" type="soapenc:string"/>
                    <element name="expireDate" nillable="true" type="soapenc:string"/>
                    <element name="time_stamp" nillable="true" type="soapenc:string"/>
                    <element name="encodeStr" nillable="true" type="soapenc:string"/>
                </sequence>
            </complexType>

看到没,里面有很多soapenc:string和soapenc:int类型的元素,开始没太注意。后来发现用wsdl2java生成的代码,都不是java.lang.String类型或int类型的。axis2对其加了一层壳。

比如上面的userId元素,如何在服务端获取呢?
        org.apache.axis2.databinding.types.soapencoding.String UserId0 = req.getUserId();
        String UserId = UserId0 != null ? UserId0.getString() : null;
        log.debug("handle UserId=" + UserId);


又比如上面的updateType元素,在服务端这样获取:
        org.apache.axis2.databinding.types.soapencoding._int UpdateType0 = req.getUpdateType();
        Integer UpdateType = UpdateType0 != null ? UpdateType0.get_int() : null;
        log.debug("handle UpdateType=" + UpdateType);


像这样的类型,在设置的时候也需要手动加壳,举两个例子:
    static org.apache.axis2.databinding.types.soapencoding.String toSoapString(String str) {
        org.apache.axis2.databinding.types.soapencoding.String enc = new org.apache.axis2.databinding.types.soapencoding.String();
        enc.setString(str);
        return enc;
    }

    static org.apache.axis2.databinding.types.soapencoding._int toSoapInt(int val) {
        org.apache.axis2.databinding.types.soapencoding._int enc = new org.apache.axis2.databinding.types.soapencoding._int();
        enc.set_int(val);
        return enc;
    }

使用起来是这样的:
    rsp.setUserId(toSoapString("1234"));
    rsp.setUpdateType(toSoapInt(1234));
分享到:
评论

相关推荐

    WSDL中描述集合对象泛型的解决办法

    为了使WSDL能够正确地识别和映射`ResResourcePO`类型的集合,我们可以将`List&lt;ResResourcePO&gt;`改为数组`ResResourcePO[]`。这样修改后的`UserInfoPO`类如下所示: ```java public class UserInfoPO implements ...

    简单WSDL实例

    - `wsdl:message`:定义服务交互中的消息结构,包括输入和输出参数。 - `wsdl:portType`:定义服务的操作集合,不涉及具体实现细节。 - `wsdl:binding`:定义服务如何通过特定协议(如HTTP、SOAP)进行通信。 - ...

    WebService之WSDL文件讲解

    例如,JAX-RPC提供商(如BEA WebLogic)可以通过API读取WSDL文档并生成相应的代理类(stub),IBM WebSphere、Microsoft .NET 和 Apache Axis 等也有类似的工具来生成客户端和服务端所需的代码。 #### 二、WSDL的...

    wsdl4j-1.6.3-API文档-中文版.zip

    赠送jar包:wsdl4j-1.6.3.jar; 赠送原API文档:wsdl4j-1.6.3-javadoc.jar; 赠送源代码:wsdl4j-1.6.3-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    WSDL文件出错???????

    3. **类型定义错误**:WSDL文件中可能会定义一些数据类型,如复杂类型或简单类型。如果类型定义有误,例如类型名称未定义或者类型定义不完整,服务将无法正确理解。检查并修正这些类型定义。 4. **端点(Endpoint)...

    WSDL文件简介-本文介绍了如何编写一个简单的WSDL文件,并根据WSDL文件编写服务器端和客户端代码,并发布Web Service服务的过程

    &lt;wsdl:port name="SumSoapEndpoint" binding="tns:SumSoapBinding"&gt; &lt;soap:address location="http://localhost:8080/Sum"/&gt; &lt;/wsdl:port&gt; &lt;/wsdl:service&gt; ``` 以上是创建一个简单 WSDL 文件的过程。通过这个...

    javax.wsdl_1.6.2.v201012040545.jar

    2. **javax.wsdl API**:此API包含一系列的Java类和接口,如Definition、PortType、Binding、Service等,它们分别对应WSDL文档中的各个元素。开发者可以使用这些类来创建、修改和读取WSDL文件。 3. **WSDL的使用...

    onvif wsdl最新文件

    在"onvif wsdl最新文件"这个主题中,我们关注的是ONVIF设备如何通过WSDL文件与其他系统进行交互。 在2016年下载的这些最新ONVIF WSDL文件中,包含了ONVIF协议的不同服务接口,让我们逐一解析它们: 1. **media....

    WSDL样式详解,soap中Rpc和Document的区别

    - **RPC/Encoded**:此样式将方法名映射为SOAP消息中的根元素,同时在SOAP消息中编码参数类型信息。WSDL示例中展示了`&lt;soap:body use="encoded" ...&gt;`,表示使用编码方式。这意味着服务调用看起来像远程过程调用,...

    wsdl代码详解

    3. **类型定义**:使用 XML Schema 定义了数据类型,包括简单类型和复杂类型。 4. **消息定义**:定义了 Web 服务的消息格式。 5. **端口类型定义**:定义了抽象接口,即操作集合。 6. **绑定定义**:指定了具体的...

    WebService WSDL结构分析

    &lt;wsdl:definitions targetNamespace="http://com.liuxiang.xfireDemo/HelloService" xmlns:tns="http://com.liuxiang.xfireDemo/HelloService" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:...

    电信isag网关 wsdl

    在IT行业中,ISAG(Integrated Service Access Gateway,集成服务接入网关)是电信网络中一个重要的组成部分,主要用于提供多种业务的接入和控制。WSLD(Web Services Description Language)则是一种XML格式,用于...

    onvif wsdl 2016 已修改

    WS-DIScovery(Web Services Discovery)是ONVIF规范中的一部分,用于设备发现,而WSDL(Web Services Description Language)则是用来描述网络服务的接口,定义了服务提供的操作、消息格式和网络地址。 标题"onvif...

    wsdl文件解读

    &lt;wsdl:part name="greeting" element="xsd:string"/&gt; &lt;!-- 输出参数 --&gt; &lt;/wsdl:message&gt; &lt;wsdl:portType name="HelloServicePortType"&gt; &lt;wsdl:operation name="sayHello"&gt; &lt;wsdl:input message="tns:...

    wsdl2java源码-wsdl2java:wsdl2java

    wsdl2java源码原作者注 该插件不再由其创建者维护。 这个存储库只是一个分支,将被动维护以跟上我依赖它的项目。 wsdl2java gradle 插件 // TODO 采用自述文件 用于从 wsdl 生成 java 的 Gradle 插件,在引擎盖下...

    Web Service 解读天气预报WSDL获取天气程序

    Web服务(Web Service)是一种基于互联网的、使用标准协议(如HTTP)进行通信的应用程序...同时,对于天气预报WSDL的理解和应用,不仅限于本例中的基本调用,还可以扩展到更复杂的数据查询和展示,以满足各种实际需求。

    wsdl详解(webservice)

    &lt;wsdl:binding name="HelloServiceSoapBinding" type="tns:HelloServicePortType"&gt; &lt;soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/&gt; ... &lt;wsdl:operation name="sayHello"&gt; &lt;soap12:...

    使用CXF: Java 2 WSDL

    6. **WSDL的结构与元素**:理解WSDL文件的结构至关重要,其中包括`&lt;wsdl:types&gt;`定义数据类型,`&lt;wsdl:message&gt;`定义通信消息,`&lt;wsdl:portType&gt;`定义服务接口,`&lt;wsdl:binding&gt;`定义通信方式,以及`&lt;wsdl:service&gt;`...

    WSDL(Web服务描述语言)详细解析

    &lt;wsdl:part name="parameters" element="tns:sayHelloResponse"/&gt; &lt;/wsdl:message&gt; &lt;!-- 抽象操作 --&gt; &lt;wsdl:portType name="HelloPortType"&gt; &lt;wsdl:operation name="sayHello"&gt; &lt;wsdl:input message="tns:...

    wsdl4j-1.6.2.jar

    wsdl4j-1.6.2.jar Manifest-Version: 1.0 Ant-Version: Apache Ant 1.6.5 Created-By: 1.4.1 (IBM Corporation) Specification-Title: JWSDL Specification-Version: 1.2 Specification-Vendor: IBM (Java Community...

Global site tag (gtag.js) - Google Analytics