<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-109  評論-187  文章-25  trackbacks-0
    最近復習了一下AXIS,寫了2個小例子


    1:  bean
     1package test.soap.vo;
     2
     3import java.io.Serializable;
     4
     5public class User implements Serializable {
     6
     7    /**
     8     * 
     9     */

    10    private static final long serialVersionUID = -9043747149109792411L;
    11
    12    private String name;
    13    private String password;
    14    public String getName() {
    15        return name;
    16    }

    17    public void setName(String name) {
    18        this.name = name;
    19    }

    20    public String getPassword() {
    21        return password;
    22    }

    23    public void setPassword(String password) {
    24        this.password = password;
    25    }

    26    public String toString() {
    27        return new StringBuffer().append(name+":"+password).toString();
    28    }

    29    
    30}

    31

    2:service
     1package test.soap.service;
     2
     3import test.soap.vo.User;
     4
     5public class UserService {
     6
     7    public User user = null;
     8
     9    public UserService() {
    10        super();
    11        
    12    }

    13
    14    public String getUser(User u) {
    15        System.out.println("user.name=" + user.getName());
    16        System.out.println("user.password=" + user.getPassword());
    17        return "000000000000000000000";
    18
    19    }

    20    public String getUser(){
    21        System.out.println("get user no arg");
    22        return "abc";
    23    }

    24    public String getUser(String i){
    25        System.out.println(i);
    26        return "123";
    27    }

    28
    29}

    30

    client 調用代碼:
     1        String wsdlURL = "http://localhost:8080/axis/services/soapObjSvc?wsdl";
     2        String nameSpaceUri ="http://localhost:8080/axis/services/soapObjSvc";
     3        org.apache.axis.client.Service  service = new org.apache.axis.client.Service();
     4        Call     call    = (Call) service.createCall();
     5        QName    qn      = new QName("urn:BeanService""User");
     6        User u = new User();
     7        u.setName("111111111111");
     8        u.setPassword("22222222222");
     9        call.registerTypeMapping(User.class, qn,
    10                          new org.apache.axis.encoding.ser.BeanSerializerFactory(User.class, qn),        
    11                          new org.apache.axis.encoding.ser.BeanDeserializerFactory(User.class, qn));        
    12            String result;
    13            try {
    14                call.setOperationName( new QName(nameSpaceUri, "getUser") );
    15                call.setTargetEndpointAddress( new URL(wsdlURL));
    16                
    17//                call.addParameter( "u", qn, ParameterMode.IN );
    18//                call.setReturnType( org.apache.axis.encoding.XMLType.XSD_STRING );
    19
    20//本行程序能夠調用,傳遞的是string參數                
    21                result = (String) call.invoke( new Object[] {"abcdefg"} );
    22//本行對象調用不通過,傳遞的是USER對象              
    23                result = (String) call.invoke( new Object[] {u} );
    24            }
     catch (Exception e) {
    25                e.printStackTrace();
    26                result = "1Error : " + e;
    27                
    28            }

    29            
    30            System.out.println(result);
    31

    4:server-config.wsdd
     1<?xml version="1.0" encoding="UTF-8"?>
     2<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
     3 <globalConfiguration>
     4  <parameter name="adminPassword" value="admin"/>
     5  <parameter name="enableNamespacePrefixOptimization" value="true"/>
     6  <parameter name="disablePrettyXML" value="true"/>
     7  <parameter name="sendXsiTypes" value="true"/>
     8  <parameter name="sendMultiRefs" value="true"/>
     9  <parameter name="sendXMLDeclaration" value="true"/>
    10  <requestFlow>
    11   <handler type="java:org.apache.axis.handlers.JWSHandler">
    12    <parameter name="scope" value="session"/>
    13   </handler>
    14   <handler type="java:org.apache.axis.handlers.JWSHandler">
    15    <parameter name="scope" value="request"/>
    16    <parameter name="extension" value=".jwr"/>
    17   </handler>
    18  </requestFlow>
    19 </globalConfiguration>
    20 <handler name="soapmonitor" type="java:org.apache.axis.handlers.SOAPMonitorHandler">
    21  <parameter name="wsdlURL" value="/axis/SOAPMonitorService-impl.wsdl"/>
    22  <parameter name="serviceName" value="SOAPMonitorService"/>
    23  <parameter name="namespace" value="http://tempuri.org/wsdl/2001/12/SOAPMonitorService-impl.wsdl"/>
    24  <parameter name="portName" value="Demo"/>
    25 </handler>
    26 <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
    27 <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
    28 <handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
    29 <service name="AdminService" provider="java:MSG">
    30  <parameter name="allowedMethods" value="AdminService"/>
    31  <parameter name="enableRemoteAdmin" value="false"/>
    32  <parameter name="className" value="org.apache.axis.utils.Admin"/>
    33  <namespace>http://xml.apache.org/axis/wsdd/</namespace>
    34 </service>
    35 <service name="Version" provider="java:RPC">
    36  <parameter name="allowedMethods" value="getVersion"/>
    37  <parameter name="className" value="org.apache.axis.Version"/>
    38 </service>
    39 <service name="SOAPMonitorService" provider="java:RPC">
    40  <parameter name="allowedMethods" value="publishMessage"/>
    41  <parameter name="scope" value="Application"/>
    42  <parameter name="className" value="org.apache.axis.monitor.SOAPMonitorService"/>
    43 </service>
    44 <service name="soapObjSvc" provider="java:RPC">
    45  <parameter name="allowedRoles" value="*"/>
    46  <parameter name="allowedMethods" value="*"/>
    47  <parameter name="className" value="test.soap.service.UserService"/>
    48  <beanMapping languageSpecificType="java:test.soap.vo.User" qname="ns1:User" xmlns:ns1="urn:BeanService"/>
    49 </service>
    50 <transport name="http">
    51  <requestFlow>
    52   <handler type="URLMapper"/>
    53  </requestFlow>
    54  <parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler"/>
    55  <parameter name="qs:wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>
    56  <parameter name="qs.list" value="org.apache.axis.transport.http.QSListHandler"/>
    57  <parameter name="qs.method" value="org.apache.axis.transport.http.QSMethodHandler"/>
    58  <parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler"/>
    59  <parameter name="qs.wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>
    60 </transport>
    61 <transport name="local">
    62  <responseFlow>
    63   <handler type="LocalResponder"/>
    64  </responseFlow>
    65 </transport>
    66</deployment>
    67


    5:wsdl
     1  <?xml version="1.0" encoding="UTF-8" ?> 
     2<wsdl:definitions targetNamespace="http://localhost:8080/axis/services/soapObjSvc" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8080/axis/services/soapObjSvc" xmlns:intf="http://localhost:8080/axis/services/soapObjSvc" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="urn:BeanService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
     3<!-- 
     4WSDL created by Apache Axis version: 1.3
     5Built on Oct 05, 2005 (05:23:37 EDT)
     6
     7  --> 
     8<wsdl:types>
     9<schema targetNamespace="urn:BeanService" xmlns="http://www.w3.org/2001/XMLSchema">
    10  <import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> 
    11<complexType name="User">
    12<sequence>
    13  <element name="name" nillable="true" type="soapenc:string" /> 
    14  <element name="password" nillable="true" type="soapenc:string" /> 
    15  </sequence>
    16  </complexType>
    17  </schema>
    18  </wsdl:types>
    19<wsdl:message name="getUserResponse">
    20  <wsdl:part name="getUserReturn" type="soapenc:string" /> 
    21  </wsdl:message>
    22<wsdl:message name="getUserResponse2">
    23  <wsdl:part name="getUserReturn" type="soapenc:string" /> 
    24  </wsdl:message>
    25<wsdl:message name="getUserRequest2">
    26  <wsdl:part name="u" type="tns1:User" /> 
    27  </wsdl:message>
    28<wsdl:message name="getUserResponse1">
    29  <wsdl:part name="getUserReturn" type="soapenc:string" /> 
    30  </wsdl:message>
    31  <wsdl:message name="getUserRequest" /> 
    32<wsdl:message name="getUserRequest1">
    33  <wsdl:part name="i" type="soapenc:string" /> 
    34  </wsdl:message>
    35<wsdl:portType name="UserService">
    36<wsdl:operation name="getUser">
    37  <wsdl:input message="impl:getUserRequest" name="getUserRequest" /> 
    38  <wsdl:output message="impl:getUserResponse" name="getUserResponse" /> 
    39  </wsdl:operation>
    40<wsdl:operation name="getUser" parameterOrder="i">
    41  <wsdl:input message="impl:getUserRequest1" name="getUserRequest1" /> 
    42  <wsdl:output message="impl:getUserResponse1" name="getUserResponse1" /> 
    43  </wsdl:operation>
    44<wsdl:operation name="getUser" parameterOrder="u">
    45  <wsdl:input message="impl:getUserRequest2" name="getUserRequest2" /> 
    46  <wsdl:output message="impl:getUserResponse2" name="getUserResponse2" /> 
    47  </wsdl:operation>
    48  </wsdl:portType>
    49<wsdl:binding name="soapObjSvcSoapBinding" type="impl:UserService">
    50  <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> 
    51<wsdl:operation name="getUser">
    52  <wsdlsoap:operation soapAction="" /> 
    53<wsdl:input name="getUserRequest">
    54  <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service.soap.test" use="encoded" /> 
    55  </wsdl:input>
    56<wsdl:output name="getUserResponse">
    57  <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/soapObjSvc" use="encoded" /> 
    58  </wsdl:output>
    59  </wsdl:operation>
    60<wsdl:operation name="getUser">
    61  <wsdlsoap:operation soapAction="" /> 
    62<wsdl:input name="getUserRequest1">
    63  <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service.soap.test" use="encoded" /> 
    64  </wsdl:input>
    65<wsdl:output name="getUserResponse1">
    66  <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/soapObjSvc" use="encoded" /> 
    67  </wsdl:output>
    68  </wsdl:operation>
    69<wsdl:operation name="getUser">
    70  <wsdlsoap:operation soapAction="" /> 
    71<wsdl:input name="getUserRequest2">
    72  <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service.soap.test" use="encoded" /> 
    73  </wsdl:input>
    74<wsdl:output name="getUserResponse2">
    75  <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/soapObjSvc" use="encoded" /> 
    76  </wsdl:output>
    77  </wsdl:operation>
    78  </wsdl:binding>
    79<wsdl:service name="UserServiceService">
    80<wsdl:port binding="impl:soapObjSvcSoapBinding" name="soapObjSvc">
    81  <wsdlsoap:address location="http://localhost:8080/axis/services/soapObjSvc" /> 
    82  </wsdl:port>
    83  </wsdl:service>
    84  </wsdl:definitions>


    <?xml version="1.0" encoding="utf-8"?>
    <soapenv:Envelope xmlns:soapenv="<soapenv:Body>
    <ns1:getUserByU soapenv:encodingStyle="
    </ns1:getUserByU>
    <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="
    <name xsi:type="soapenc:string">1111111111</name>
    <password xsi:type="soapenc:string">22222222222</password>
    </multiRef>
    </soapenv:Body>
    </soapenv:Envelope>

    <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="
    soapenv:encodingStyle="//  call.setReturnType(qn,java.lang.String.class);
    下面這2句也會有些用處.
    以上例子在WEBLOGIC和TOMCAT上都測試過了,沒有什么問題

    主站蜘蛛池模板: 亚洲免费观看视频| 四虎永久免费网站免费观看| 久久久精品2019免费观看| 无人在线直播免费观看| 国产成人免费全部网站| 久久亚洲sm情趣捆绑调教| 蜜臀亚洲AV无码精品国产午夜.| 成人福利在线观看免费视频| 国产免费的野战视频| 亚洲一级特黄大片无码毛片| 亚洲一区二区三区在线观看蜜桃| 亚洲国产精品自在自线观看| 国产成人精品无码免费看| 亚洲高清最新av网站| 亚洲av无码片vr一区二区三区| www.免费在线观看| 亚洲午夜福利在线观看| 国产亚洲精品美女2020久久| 国产在线a免费观看| 亚洲理论在线观看| www视频免费看| 亚洲另类古典武侠| 在线免费观看你懂的| 亚洲精品国产成人专区| 久久午夜伦鲁片免费无码| 亚洲AV无码久久精品蜜桃| 永久免费不卡在线观看黄网站| 久久亚洲中文字幕精品一区四| 久久精品亚洲日本波多野结衣| 四虎成人免费观看在线网址 | 亚欧免费无码aⅴ在线观看| 久久亚洲AV无码西西人体| 两个人的视频www免费| 精品国产人成亚洲区| 精品多毛少妇人妻AV免费久久| 国产亚洲精久久久久久无码AV| 日韩免费在线中文字幕| 日日噜噜噜噜夜夜爽亚洲精品| 免费无码作爱视频| 精品亚洲成a人片在线观看| 野花高清在线观看免费3中文|