axis2的目录结构

来源:互联网 发布:金蝶eas数据库类型 编辑:程序博客网 时间:2024/05/21 08:53

对于axis2/java是学习java语言的一个webservice框架可从apache官网上可以下载 当前版本为axis2-1.6.2-bin,对于axis2既可以部署在java中间件中,也可以以单独启动运行,他的目录分布如下:

    -bin:下面是写脚本,用于运行standalone的模式    -conf:axis.xml,包括了axis2的常见配置    -repository     +--modules:用于存放axis2的一下     +--services:用于存放要部署的WebService    -webapp:存放用部署在中间件的axis2的web工程    -simples:axis2的Demo

可以直接在执行bin\axis2server.bat,在浏览器打开可以http://localhost:8080/axis2/既可以看到。
部署在中间件中的war文件的生成,需要在本机下载安装apache-ant,并配置ANT_HOME,把”%ANT_HOME%\bin”加入环境PATH中。配置完ant后进入webapp目录,在该目录的命令行下直接输入ant命令即可,在axis2的根目录会生成的dist目录包含axis.war文件。war文件直接扔在tomcat的webapp目录启动tomcat即可。
在axis中要对外暴露一个WebServices十分简单,无论是standalone的形式,还是以java Servlet Container的形式,假设当前目录为axisDemo,对于standalone形式,部署目录形式如下

-axisDemo +--bin +--conf |  +--axis.xml +--modules |  +--modules.mar +--services |  +--servces.arr

对于java Servlet Container的形式的话,如下

-axisDemo +--WEB-INF |  +--conf |  |  +--axis.xml |  +--modules |  |  +--modules.mar |  +--services |  |  +--servces.arr |--+--web.xml

对于我们开发程序而言,我们需要关注的是conf/axis.xml,modules.mar,services.aar的编写,axis.xml文件对于了基于soap的各种配置,其中modules.mar和services.aar是类似*.jar文件的打包文件,该打包文件的结构如下:

 +--modules.mar     |   +--META-INF     |   |  +--module.xml     |---+--package(可选的)+--services|   +--META-INF|   |--services.xml  |--+--package(可选的)

由上面可以知道axis.xml是作为全局进行配置的,而如果我们想对于WebServices加入认证,或者加密的模块,我们是需要编写实现特定接口的类并编写module.xml,如上述格式那样子打包后放入modules目录,并在conf/axis.xml文件中进行配置的。
发布一个WebService,或者基于WebService对外暴露一个接口,让外部系统进行调用,我们仅仅需要编写需要暴露的公有方法,然后配置service.xml文件,按照上述格式进行打包并放入services目录即可。
下面是我暴露java.lang.String方法的services.xml,该类的所有公有方法都将被暴露出来

<service name="String">    <description>        This demo service is to show java.lang.String it go    </description>    <parameter name="ServiceClass">java.lang.String</parameter>    <messageReceiver  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /></service>

按照上述格式进行打包后,我们可以在standalone或者是tomcat中访问http://localhost:8080/axis2/serv/String?wsdl,java.lang.String类的公有方法都被暴露成WebService了,当然我们可以配置service.xml个性化一些配置。

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ns="http://lang.java" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:ax21="http://util.java/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://lang.java">    <wsdl:documentation>String</wsdl:documentation>    <wsdl:types>        <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://util.java/xsd">            <xs:complexType name="Locale">                <xs:sequence>                    <xs:element minOccurs="0" name="ISO3Country" nillable="true" type="xs:string"/>                    <xs:element minOccurs="0" name="ISO3Language" nillable="true" type="xs:string"/>                    <xs:element minOccurs="0" name="country" nillable="true" type="xs:string"/>                    <xs:element minOccurs="0" name="displayCountry" nillable="true" type="xs:string"/>                    <xs:element minOccurs="0" name="displayLanguage" nillable="true" type="xs:string"/>                    <xs:element minOccurs="0" name="displayName" nillable="true" type="xs:string"/>                    <xs:element minOccurs="0" name="displayScript" nillable="true" type="xs:string"/>                    <xs:element minOccurs="0" name="displayVariant" nillable="true" type="xs:string"/>                    <xs:element maxOccurs="unbounded" minOccurs="0" name="extensionKeys" nillable="true" type="xs:anyType"/>                    <xs:element minOccurs="0" name="language" nillable="true" type="xs:string"/>                    <xs:element minOccurs="0" name="script" nillable="true" type="xs:string"/>                    <xs:element maxOccurs="unbounded" minOccurs="0" name="unicodeLocaleAttributes" nillable="true" type="xs:string"/>                    <xs:element maxOccurs="unbounded" minOccurs="0" name="unicodeLocaleKeys" nillable="true" type="xs:string"/>                    <xs:element minOccurs="0" name="variant" nillable="true" type="xs:string"/>                </xs:sequence>            </xs:complexType>        </xs:schema>        <xs:schema xmlns:ax22="http://util.java/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://lang.java">            <xs:import namespace="http://util.java/xsd"/>            <xs:element name="equals">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" nillable="true" type="xs:anyType"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="equalsResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="toString">                <xs:complexType>                    <xs:sequence/>                </xs:complexType>            </xs:element>            <xs:element name="toStringResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="hashCode">                <xs:complexType>                    <xs:sequence/>                </xs:complexType>            </xs:element>            <xs:element name="hashCodeResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="compareTo">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="compareToResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="indexOf">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" nillable="true" type="xs:string"/>                        <xs:element minOccurs="0" name="args1" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="indexOfResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="valueOf">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" type="xs:float"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="valueOfResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="charAt">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="charAtResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="codePointAt">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="codePointAtResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="codePointBefore">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="codePointBeforeResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="codePointCount">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" type="xs:int"/>                        <xs:element minOccurs="0" name="args1" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="codePointCountResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="compareToIgnoreCase">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="compareToIgnoreCaseResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="concat">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="concatResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="contains">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" nillable="true" type="xs:anyType"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="containsResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="contentEquals">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" nillable="true" type="xs:anyType"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="contentEqualsResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="copyValueOf">                <xs:complexType>                    <xs:sequence>                        <xs:element maxOccurs="unbounded" minOccurs="0" name="args0" nillable="true" type="xs:string"/>                        <xs:element minOccurs="0" name="args1" type="xs:int"/>                        <xs:element minOccurs="0" name="args2" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="copyValueOfResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="endsWith">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="endsWithResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="equalsIgnoreCase">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="equalsIgnoreCaseResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="format">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" nillable="true" type="ax21:Locale"/>                        <xs:element minOccurs="0" name="args1" nillable="true" type="xs:string"/>                        <xs:element maxOccurs="unbounded" minOccurs="0" name="args2" nillable="true" type="xs:anyType"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="formatResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="getBytes">                <xs:complexType>                    <xs:sequence/>                </xs:complexType>            </xs:element>            <xs:element name="getBytesResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:base64Binary"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="getChars">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" type="xs:int"/>                        <xs:element minOccurs="0" name="args1" type="xs:int"/>                        <xs:element maxOccurs="unbounded" minOccurs="0" name="args2" nillable="true" type="xs:string"/>                        <xs:element minOccurs="0" name="args3" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="intern">                <xs:complexType>                    <xs:sequence/>                </xs:complexType>            </xs:element>            <xs:element name="internResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="isEmpty">                <xs:complexType>                    <xs:sequence/>                </xs:complexType>            </xs:element>            <xs:element name="isEmptyResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="lastIndexOf">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="lastIndexOfResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="length">                <xs:complexType>                    <xs:sequence/>                </xs:complexType>            </xs:element>            <xs:element name="lengthResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="matches">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="matchesResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="offsetByCodePoints">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" type="xs:int"/>                        <xs:element minOccurs="0" name="args1" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="offsetByCodePointsResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="regionMatches">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" type="xs:int"/>                        <xs:element minOccurs="0" name="args1" nillable="true" type="xs:string"/>                        <xs:element minOccurs="0" name="args2" type="xs:int"/>                        <xs:element minOccurs="0" name="args3" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="regionMatchesResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="replace">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" nillable="true" type="xs:string"/>                        <xs:element minOccurs="0" name="args1" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="replaceResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="replaceAll">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" nillable="true" type="xs:string"/>                        <xs:element minOccurs="0" name="args1" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="replaceAllResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="replaceFirst">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" nillable="true" type="xs:string"/>                        <xs:element minOccurs="0" name="args1" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="replaceFirstResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="split">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="splitResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="startsWith">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="startsWithResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="subSequence">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" type="xs:int"/>                        <xs:element minOccurs="0" name="args1" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="subSequenceResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:anyType"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="substring">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" type="xs:int"/>                        <xs:element minOccurs="0" name="args1" type="xs:int"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="substringResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="toCharArray">                <xs:complexType>                    <xs:sequence/>                </xs:complexType>            </xs:element>            <xs:element name="toCharArrayResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="toLowerCase">                <xs:complexType>                    <xs:sequence/>                </xs:complexType>            </xs:element>            <xs:element name="toLowerCaseResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="toUpperCase">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="args0" nillable="true" type="ax21:Locale"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="toUpperCaseResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>            <xs:element name="trim">                <xs:complexType>                    <xs:sequence/>                </xs:complexType>            </xs:element>            <xs:element name="trimResponse">                <xs:complexType>                    <xs:sequence>                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>                    </xs:sequence>                </xs:complexType>            </xs:element>        </xs:schema>    </wsdl:types>    <wsdl:message name="internRequest">        <wsdl:part name="parameters" element="ns:intern"/>    </wsdl:message>    <wsdl:message name="internResponse">        <wsdl:part name="parameters" element="ns:internResponse"/>    </wsdl:message>    <wsdl:message name="regionMatchesRequest">        <wsdl:part name="parameters" element="ns:regionMatches"/>    </wsdl:message>    <wsdl:message name="regionMatchesResponse">        <wsdl:part name="parameters" element="ns:regionMatchesResponse"/>    </wsdl:message>    <wsdl:message name="substringRequest">        <wsdl:part name="parameters" element="ns:substring"/>    </wsdl:message>    <wsdl:message name="substringResponse">        <wsdl:part name="parameters" element="ns:substringResponse"/>    </wsdl:message>    <wsdl:message name="indexOfRequest">        <wsdl:part name="parameters" element="ns:indexOf"/>    </wsdl:message>    <wsdl:message name="indexOfResponse">        <wsdl:part name="parameters" element="ns:indexOfResponse"/>    </wsdl:message>    <wsdl:message name="replaceFirstRequest">        <wsdl:part name="parameters" element="ns:replaceFirst"/>    </wsdl:message>    <wsdl:message name="replaceFirstResponse">        <wsdl:part name="parameters" element="ns:replaceFirstResponse"/>    </wsdl:message>    <wsdl:message name="getCharsRequest">        <wsdl:part name="parameters" element="ns:getChars"/>    </wsdl:message>    <wsdl:message name="compareToRequest">        <wsdl:part name="parameters" element="ns:compareTo"/>    </wsdl:message>    <wsdl:message name="compareToResponse">        <wsdl:part name="parameters" element="ns:compareToResponse"/>    </wsdl:message>    <wsdl:message name="subSequenceRequest">        <wsdl:part name="parameters" element="ns:subSequence"/>    </wsdl:message>    <wsdl:message name="subSequenceResponse">        <wsdl:part name="parameters" element="ns:subSequenceResponse"/>    </wsdl:message>    <wsdl:message name="hashCodeRequest">        <wsdl:part name="parameters" element="ns:hashCode"/>    </wsdl:message>    <wsdl:message name="hashCodeResponse">        <wsdl:part name="parameters" element="ns:hashCodeResponse"/>    </wsdl:message>    <wsdl:message name="equalsRequest">        <wsdl:part name="parameters" element="ns:equals"/>    </wsdl:message>    <wsdl:message name="equalsResponse">        <wsdl:part name="parameters" element="ns:equalsResponse"/>    </wsdl:message>    <wsdl:message name="matchesRequest">        <wsdl:part name="parameters" element="ns:matches"/>    </wsdl:message>    <wsdl:message name="matchesResponse">        <wsdl:part name="parameters" element="ns:matchesResponse"/>    </wsdl:message>    <wsdl:message name="endsWithRequest">        <wsdl:part name="parameters" element="ns:endsWith"/>    </wsdl:message>    <wsdl:message name="endsWithResponse">        <wsdl:part name="parameters" element="ns:endsWithResponse"/>    </wsdl:message>    <wsdl:message name="replaceAllRequest">        <wsdl:part name="parameters" element="ns:replaceAll"/>    </wsdl:message>    <wsdl:message name="replaceAllResponse">        <wsdl:part name="parameters" element="ns:replaceAllResponse"/>    </wsdl:message>    <wsdl:message name="lengthRequest">        <wsdl:part name="parameters" element="ns:length"/>    </wsdl:message>    <wsdl:message name="lengthResponse">        <wsdl:part name="parameters" element="ns:lengthResponse"/>    </wsdl:message>    <wsdl:message name="valueOfRequest">        <wsdl:part name="parameters" element="ns:valueOf"/>    </wsdl:message>    <wsdl:message name="valueOfResponse">        <wsdl:part name="parameters" element="ns:valueOfResponse"/>    </wsdl:message>    <wsdl:message name="toUpperCaseRequest">        <wsdl:part name="parameters" element="ns:toUpperCase"/>    </wsdl:message>    <wsdl:message name="toUpperCaseResponse">        <wsdl:part name="parameters" element="ns:toUpperCaseResponse"/>    </wsdl:message>    <wsdl:message name="codePointBeforeRequest">        <wsdl:part name="parameters" element="ns:codePointBefore"/>    </wsdl:message>    <wsdl:message name="codePointBeforeResponse">        <wsdl:part name="parameters" element="ns:codePointBeforeResponse"/>    </wsdl:message>    <wsdl:message name="toLowerCaseRequest">        <wsdl:part name="parameters" element="ns:toLowerCase"/>    </wsdl:message>    <wsdl:message name="toLowerCaseResponse">        <wsdl:part name="parameters" element="ns:toLowerCaseResponse"/>    </wsdl:message>    <wsdl:message name="offsetByCodePointsRequest">        <wsdl:part name="parameters" element="ns:offsetByCodePoints"/>    </wsdl:message>    <wsdl:message name="offsetByCodePointsResponse">        <wsdl:part name="parameters" element="ns:offsetByCodePointsResponse"/>    </wsdl:message>    <wsdl:message name="startsWithRequest">        <wsdl:part name="parameters" element="ns:startsWith"/>    </wsdl:message>    <wsdl:message name="startsWithResponse">        <wsdl:part name="parameters" element="ns:startsWithResponse"/>    </wsdl:message>    <wsdl:message name="splitRequest">        <wsdl:part name="parameters" element="ns:split"/>    </wsdl:message>    <wsdl:message name="splitResponse">        <wsdl:part name="parameters" element="ns:splitResponse"/>    </wsdl:message>    <wsdl:message name="copyValueOfRequest">        <wsdl:part name="parameters" element="ns:copyValueOf"/>    </wsdl:message>    <wsdl:message name="copyValueOfResponse">        <wsdl:part name="parameters" element="ns:copyValueOfResponse"/>    </wsdl:message>    <wsdl:message name="toCharArrayRequest">        <wsdl:part name="parameters" element="ns:toCharArray"/>    </wsdl:message>    <wsdl:message name="toCharArrayResponse">        <wsdl:part name="parameters" element="ns:toCharArrayResponse"/>    </wsdl:message>    <wsdl:message name="compareToIgnoreCaseRequest">        <wsdl:part name="parameters" element="ns:compareToIgnoreCase"/>    </wsdl:message>    <wsdl:message name="compareToIgnoreCaseResponse">        <wsdl:part name="parameters" element="ns:compareToIgnoreCaseResponse"/>    </wsdl:message>    <wsdl:message name="lastIndexOfRequest">        <wsdl:part name="parameters" element="ns:lastIndexOf"/>    </wsdl:message>    <wsdl:message name="lastIndexOfResponse">        <wsdl:part name="parameters" element="ns:lastIndexOfResponse"/>    </wsdl:message>    <wsdl:message name="codePointAtRequest">        <wsdl:part name="parameters" element="ns:codePointAt"/>    </wsdl:message>    <wsdl:message name="codePointAtResponse">        <wsdl:part name="parameters" element="ns:codePointAtResponse"/>    </wsdl:message>    <wsdl:message name="isEmptyRequest">        <wsdl:part name="parameters" element="ns:isEmpty"/>    </wsdl:message>    <wsdl:message name="isEmptyResponse">        <wsdl:part name="parameters" element="ns:isEmptyResponse"/>    </wsdl:message>    <wsdl:message name="contentEqualsRequest">        <wsdl:part name="parameters" element="ns:contentEquals"/>    </wsdl:message>    <wsdl:message name="contentEqualsResponse">        <wsdl:part name="parameters" element="ns:contentEqualsResponse"/>    </wsdl:message>    <wsdl:message name="getBytesRequest">        <wsdl:part name="parameters" element="ns:getBytes"/>    </wsdl:message>    <wsdl:message name="getBytesResponse">        <wsdl:part name="parameters" element="ns:getBytesResponse"/>    </wsdl:message>    <wsdl:message name="trimRequest">        <wsdl:part name="parameters" element="ns:trim"/>    </wsdl:message>    <wsdl:message name="trimResponse">        <wsdl:part name="parameters" element="ns:trimResponse"/>    </wsdl:message>    <wsdl:message name="codePointCountRequest">        <wsdl:part name="parameters" element="ns:codePointCount"/>    </wsdl:message>    <wsdl:message name="codePointCountResponse">        <wsdl:part name="parameters" element="ns:codePointCountResponse"/>    </wsdl:message>    <wsdl:message name="formatRequest">        <wsdl:part name="parameters" element="ns:format"/>    </wsdl:message>    <wsdl:message name="formatResponse">        <wsdl:part name="parameters" element="ns:formatResponse"/>    </wsdl:message>    <wsdl:message name="concatRequest">        <wsdl:part name="parameters" element="ns:concat"/>    </wsdl:message>    <wsdl:message name="concatResponse">        <wsdl:part name="parameters" element="ns:concatResponse"/>    </wsdl:message>    <wsdl:message name="replaceRequest">        <wsdl:part name="parameters" element="ns:replace"/>    </wsdl:message>    <wsdl:message name="replaceResponse">        <wsdl:part name="parameters" element="ns:replaceResponse"/>    </wsdl:message>    <wsdl:message name="containsRequest">        <wsdl:part name="parameters" element="ns:contains"/>    </wsdl:message>    <wsdl:message name="containsResponse">        <wsdl:part name="parameters" element="ns:containsResponse"/>    </wsdl:message>    <wsdl:message name="equalsIgnoreCaseRequest">        <wsdl:part name="parameters" element="ns:equalsIgnoreCase"/>    </wsdl:message>    <wsdl:message name="equalsIgnoreCaseResponse">        <wsdl:part name="parameters" element="ns:equalsIgnoreCaseResponse"/>    </wsdl:message>    <wsdl:message name="toStringRequest">        <wsdl:part name="parameters" element="ns:toString"/>    </wsdl:message>    <wsdl:message name="toStringResponse">        <wsdl:part name="parameters" element="ns:toStringResponse"/>    </wsdl:message>    <wsdl:message name="charAtRequest">        <wsdl:part name="parameters" element="ns:charAt"/>    </wsdl:message>    <wsdl:message name="charAtResponse">        <wsdl:part name="parameters" element="ns:charAtResponse"/>    </wsdl:message>    <wsdl:portType name="StringPortType">        <wsdl:operation name="intern">            <wsdl:input message="ns:internRequest" wsaw:Action="urn:intern"/>            <wsdl:output message="ns:internResponse" wsaw:Action="urn:internResponse"/>        </wsdl:operation>        <wsdl:operation name="regionMatches">            <wsdl:input message="ns:regionMatchesRequest" wsaw:Action="urn:regionMatches"/>            <wsdl:output message="ns:regionMatchesResponse" wsaw:Action="urn:regionMatchesResponse"/>        </wsdl:operation>        <wsdl:operation name="substring">            <wsdl:input message="ns:substringRequest" wsaw:Action="urn:substring"/>            <wsdl:output message="ns:substringResponse" wsaw:Action="urn:substringResponse"/>        </wsdl:operation>        <wsdl:operation name="indexOf">            <wsdl:input message="ns:indexOfRequest" wsaw:Action="urn:indexOf"/>            <wsdl:output message="ns:indexOfResponse" wsaw:Action="urn:indexOfResponse"/>        </wsdl:operation>        <wsdl:operation name="replaceFirst">            <wsdl:input message="ns:replaceFirstRequest" wsaw:Action="urn:replaceFirst"/>            <wsdl:output message="ns:replaceFirstResponse" wsaw:Action="urn:replaceFirstResponse"/>        </wsdl:operation>        <wsdl:operation name="getChars">            <wsdl:input message="ns:getCharsRequest" wsaw:Action="urn:getChars"/>        </wsdl:operation>        <wsdl:operation name="compareTo">            <wsdl:input message="ns:compareToRequest" wsaw:Action="urn:compareTo"/>            <wsdl:output message="ns:compareToResponse" wsaw:Action="urn:compareToResponse"/>        </wsdl:operation>        <wsdl:operation name="subSequence">            <wsdl:input message="ns:subSequenceRequest" wsaw:Action="urn:subSequence"/>            <wsdl:output message="ns:subSequenceResponse" wsaw:Action="urn:subSequenceResponse"/>        </wsdl:operation>        <wsdl:operation name="hashCode">            <wsdl:input message="ns:hashCodeRequest" wsaw:Action="urn:hashCode"/>            <wsdl:output message="ns:hashCodeResponse" wsaw:Action="urn:hashCodeResponse"/>        </wsdl:operation>        <wsdl:operation name="equals">            <wsdl:input message="ns:equalsRequest" wsaw:Action="urn:equals"/>            <wsdl:output message="ns:equalsResponse" wsaw:Action="urn:equalsResponse"/>        </wsdl:operation>        <wsdl:operation name="matches">            <wsdl:input message="ns:matchesRequest" wsaw:Action="urn:matches"/>            <wsdl:output message="ns:matchesResponse" wsaw:Action="urn:matchesResponse"/>        </wsdl:operation>        <wsdl:operation name="endsWith">            <wsdl:input message="ns:endsWithRequest" wsaw:Action="urn:endsWith"/>            <wsdl:output message="ns:endsWithResponse" wsaw:Action="urn:endsWithResponse"/>        </wsdl:operation>        <wsdl:operation name="replaceAll">            <wsdl:input message="ns:replaceAllRequest" wsaw:Action="urn:replaceAll"/>            <wsdl:output message="ns:replaceAllResponse" wsaw:Action="urn:replaceAllResponse"/>        </wsdl:operation>        <wsdl:operation name="length">            <wsdl:input message="ns:lengthRequest" wsaw:Action="urn:length"/>            <wsdl:output message="ns:lengthResponse" wsaw:Action="urn:lengthResponse"/>        </wsdl:operation>        <wsdl:operation name="valueOf">            <wsdl:input message="ns:valueOfRequest" wsaw:Action="urn:valueOf"/>            <wsdl:output message="ns:valueOfResponse" wsaw:Action="urn:valueOfResponse"/>        </wsdl:operation>        <wsdl:operation name="toUpperCase">            <wsdl:input message="ns:toUpperCaseRequest" wsaw:Action="urn:toUpperCase"/>            <wsdl:output message="ns:toUpperCaseResponse" wsaw:Action="urn:toUpperCaseResponse"/>        </wsdl:operation>        <wsdl:operation name="codePointBefore">            <wsdl:input message="ns:codePointBeforeRequest" wsaw:Action="urn:codePointBefore"/>            <wsdl:output message="ns:codePointBeforeResponse" wsaw:Action="urn:codePointBeforeResponse"/>        </wsdl:operation>        <wsdl:operation name="toLowerCase">            <wsdl:input message="ns:toLowerCaseRequest" wsaw:Action="urn:toLowerCase"/>            <wsdl:output message="ns:toLowerCaseResponse" wsaw:Action="urn:toLowerCaseResponse"/>        </wsdl:operation>        <wsdl:operation name="offsetByCodePoints">            <wsdl:input message="ns:offsetByCodePointsRequest" wsaw:Action="urn:offsetByCodePoints"/>            <wsdl:output message="ns:offsetByCodePointsResponse" wsaw:Action="urn:offsetByCodePointsResponse"/>        </wsdl:operation>        <wsdl:operation name="startsWith">            <wsdl:input message="ns:startsWithRequest" wsaw:Action="urn:startsWith"/>            <wsdl:output message="ns:startsWithResponse" wsaw:Action="urn:startsWithResponse"/>        </wsdl:operation>        <wsdl:operation name="split">            <wsdl:input message="ns:splitRequest" wsaw:Action="urn:split"/>            <wsdl:output message="ns:splitResponse" wsaw:Action="urn:splitResponse"/>        </wsdl:operation>        <wsdl:operation name="copyValueOf">            <wsdl:input message="ns:copyValueOfRequest" wsaw:Action="urn:copyValueOf"/>            <wsdl:output message="ns:copyValueOfResponse" wsaw:Action="urn:copyValueOfResponse"/>        </wsdl:operation>        <wsdl:operation name="toCharArray">            <wsdl:input message="ns:toCharArrayRequest" wsaw:Action="urn:toCharArray"/>            <wsdl:output message="ns:toCharArrayResponse" wsaw:Action="urn:toCharArrayResponse"/>        </wsdl:operation>        <wsdl:operation name="compareToIgnoreCase">            <wsdl:input message="ns:compareToIgnoreCaseRequest" wsaw:Action="urn:compareToIgnoreCase"/>            <wsdl:output message="ns:compareToIgnoreCaseResponse" wsaw:Action="urn:compareToIgnoreCaseResponse"/>        </wsdl:operation>        <wsdl:operation name="lastIndexOf">            <wsdl:input message="ns:lastIndexOfRequest" wsaw:Action="urn:lastIndexOf"/>            <wsdl:output message="ns:lastIndexOfResponse" wsaw:Action="urn:lastIndexOfResponse"/>        </wsdl:operation>        <wsdl:operation name="codePointAt">            <wsdl:input message="ns:codePointAtRequest" wsaw:Action="urn:codePointAt"/>            <wsdl:output message="ns:codePointAtResponse" wsaw:Action="urn:codePointAtResponse"/>        </wsdl:operation>        <wsdl:operation name="isEmpty">            <wsdl:input message="ns:isEmptyRequest" wsaw:Action="urn:isEmpty"/>            <wsdl:output message="ns:isEmptyResponse" wsaw:Action="urn:isEmptyResponse"/>        </wsdl:operation>        <wsdl:operation name="contentEquals">            <wsdl:input message="ns:contentEqualsRequest" wsaw:Action="urn:contentEquals"/>            <wsdl:output message="ns:contentEqualsResponse" wsaw:Action="urn:contentEqualsResponse"/>        </wsdl:operation>        <wsdl:operation name="getBytes">            <wsdl:input message="ns:getBytesRequest" wsaw:Action="urn:getBytes"/>            <wsdl:output message="ns:getBytesResponse" wsaw:Action="urn:getBytesResponse"/>        </wsdl:operation>        <wsdl:operation name="trim">            <wsdl:input message="ns:trimRequest" wsaw:Action="urn:trim"/>            <wsdl:output message="ns:trimResponse" wsaw:Action="urn:trimResponse"/>        </wsdl:operation>        <wsdl:operation name="codePointCount">            <wsdl:input message="ns:codePointCountRequest" wsaw:Action="urn:codePointCount"/>            <wsdl:output message="ns:codePointCountResponse" wsaw:Action="urn:codePointCountResponse"/>        </wsdl:operation>        <wsdl:operation name="format">            <wsdl:input message="ns:formatRequest" wsaw:Action="urn:format"/>            <wsdl:output message="ns:formatResponse" wsaw:Action="urn:formatResponse"/>        </wsdl:operation>        <wsdl:operation name="concat">            <wsdl:input message="ns:concatRequest" wsaw:Action="urn:concat"/>            <wsdl:output message="ns:concatResponse" wsaw:Action="urn:concatResponse"/>        </wsdl:operation>        <wsdl:operation name="replace">            <wsdl:input message="ns:replaceRequest" wsaw:Action="urn:replace"/>            <wsdl:output message="ns:replaceResponse" wsaw:Action="urn:replaceResponse"/>        </wsdl:operation>        <wsdl:operation name="contains">            <wsdl:input message="ns:containsRequest" wsaw:Action="urn:contains"/>            <wsdl:output message="ns:containsResponse" wsaw:Action="urn:containsResponse"/>        </wsdl:operation>        <wsdl:operation name="equalsIgnoreCase">            <wsdl:input message="ns:equalsIgnoreCaseRequest" wsaw:Action="urn:equalsIgnoreCase"/>            <wsdl:output message="ns:equalsIgnoreCaseResponse" wsaw:Action="urn:equalsIgnoreCaseResponse"/>        </wsdl:operation>        <wsdl:operation name="toString">            <wsdl:input message="ns:toStringRequest" wsaw:Action="urn:toString"/>            <wsdl:output message="ns:toStringResponse" wsaw:Action="urn:toStringResponse"/>        </wsdl:operation>        <wsdl:operation name="charAt">            <wsdl:input message="ns:charAtRequest" wsaw:Action="urn:charAt"/>            <wsdl:output message="ns:charAtResponse" wsaw:Action="urn:charAtResponse"/>        </wsdl:operation>    </wsdl:portType>    <wsdl:binding name="StringSoap11Binding" type="ns:StringPortType">        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>        <wsdl:operation name="intern">            <soap:operation soapAction="urn:intern" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="regionMatches">            <soap:operation soapAction="urn:regionMatches" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="indexOf">            <soap:operation soapAction="urn:indexOf" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="substring">            <soap:operation soapAction="urn:substring" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="replaceFirst">            <soap:operation soapAction="urn:replaceFirst" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="getChars">            <soap:operation soapAction="urn:getChars" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>        </wsdl:operation>        <wsdl:operation name="compareTo">            <soap:operation soapAction="urn:compareTo" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="hashCode">            <soap:operation soapAction="urn:hashCode" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="subSequence">            <soap:operation soapAction="urn:subSequence" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="equals">            <soap:operation soapAction="urn:equals" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="matches">            <soap:operation soapAction="urn:matches" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="endsWith">            <soap:operation soapAction="urn:endsWith" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="valueOf">            <soap:operation soapAction="urn:valueOf" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="length">            <soap:operation soapAction="urn:length" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="replaceAll">            <soap:operation soapAction="urn:replaceAll" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="toUpperCase">            <soap:operation soapAction="urn:toUpperCase" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="codePointBefore">            <soap:operation soapAction="urn:codePointBefore" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="offsetByCodePoints">            <soap:operation soapAction="urn:offsetByCodePoints" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="toLowerCase">            <soap:operation soapAction="urn:toLowerCase" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="startsWith">            <soap:operation soapAction="urn:startsWith" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="split">            <soap:operation soapAction="urn:split" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="copyValueOf">            <soap:operation soapAction="urn:copyValueOf" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="compareToIgnoreCase">            <soap:operation soapAction="urn:compareToIgnoreCase" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="toCharArray">            <soap:operation soapAction="urn:toCharArray" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="lastIndexOf">            <soap:operation soapAction="urn:lastIndexOf" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="codePointAt">            <soap:operation soapAction="urn:codePointAt" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="contentEquals">            <soap:operation soapAction="urn:contentEquals" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="isEmpty">            <soap:operation soapAction="urn:isEmpty" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="getBytes">            <soap:operation soapAction="urn:getBytes" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="trim">            <soap:operation soapAction="urn:trim" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="codePointCount">            <soap:operation soapAction="urn:codePointCount" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="format">            <soap:operation soapAction="urn:format" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="concat">            <soap:operation soapAction="urn:concat" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="replace">            <soap:operation soapAction="urn:replace" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="contains">            <soap:operation soapAction="urn:contains" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="equalsIgnoreCase">            <soap:operation soapAction="urn:equalsIgnoreCase" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="toString">            <soap:operation soapAction="urn:toString" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="charAt">            <soap:operation soapAction="urn:charAt" style="document"/>            <wsdl:input>                <soap:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body use="literal"/>            </wsdl:output>        </wsdl:operation>    </wsdl:binding>    <wsdl:binding name="StringSoap12Binding" type="ns:StringPortType">        <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>        <wsdl:operation name="intern">            <soap12:operation soapAction="urn:intern" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="regionMatches">            <soap12:operation soapAction="urn:regionMatches" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="indexOf">            <soap12:operation soapAction="urn:indexOf" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="substring">            <soap12:operation soapAction="urn:substring" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="replaceFirst">            <soap12:operation soapAction="urn:replaceFirst" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="getChars">            <soap12:operation soapAction="urn:getChars" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>        </wsdl:operation>        <wsdl:operation name="compareTo">            <soap12:operation soapAction="urn:compareTo" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="hashCode">            <soap12:operation soapAction="urn:hashCode" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="subSequence">            <soap12:operation soapAction="urn:subSequence" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="equals">            <soap12:operation soapAction="urn:equals" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="matches">            <soap12:operation soapAction="urn:matches" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="endsWith">            <soap12:operation soapAction="urn:endsWith" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="valueOf">            <soap12:operation soapAction="urn:valueOf" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="length">            <soap12:operation soapAction="urn:length" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="replaceAll">            <soap12:operation soapAction="urn:replaceAll" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="toUpperCase">            <soap12:operation soapAction="urn:toUpperCase" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="codePointBefore">            <soap12:operation soapAction="urn:codePointBefore" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="offsetByCodePoints">            <soap12:operation soapAction="urn:offsetByCodePoints" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="toLowerCase">            <soap12:operation soapAction="urn:toLowerCase" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="startsWith">            <soap12:operation soapAction="urn:startsWith" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="split">            <soap12:operation soapAction="urn:split" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="copyValueOf">            <soap12:operation soapAction="urn:copyValueOf" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="compareToIgnoreCase">            <soap12:operation soapAction="urn:compareToIgnoreCase" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="toCharArray">            <soap12:operation soapAction="urn:toCharArray" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="lastIndexOf">            <soap12:operation soapAction="urn:lastIndexOf" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="codePointAt">            <soap12:operation soapAction="urn:codePointAt" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="contentEquals">            <soap12:operation soapAction="urn:contentEquals" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="isEmpty">            <soap12:operation soapAction="urn:isEmpty" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="getBytes">            <soap12:operation soapAction="urn:getBytes" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="trim">            <soap12:operation soapAction="urn:trim" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="codePointCount">            <soap12:operation soapAction="urn:codePointCount" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="format">            <soap12:operation soapAction="urn:format" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="concat">            <soap12:operation soapAction="urn:concat" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="replace">            <soap12:operation soapAction="urn:replace" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="contains">            <soap12:operation soapAction="urn:contains" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="equalsIgnoreCase">            <soap12:operation soapAction="urn:equalsIgnoreCase" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="toString">            <soap12:operation soapAction="urn:toString" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="charAt">            <soap12:operation soapAction="urn:charAt" style="document"/>            <wsdl:input>                <soap12:body use="literal"/>            </wsdl:input>            <wsdl:output>                <soap12:body use="literal"/>            </wsdl:output>        </wsdl:operation>    </wsdl:binding>    <wsdl:binding name="StringHttpBinding" type="ns:StringPortType">        <http:binding verb="POST"/>        <wsdl:operation name="intern">            <http:operation location="intern"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="regionMatches">            <http:operation location="regionMatches"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="indexOf">            <http:operation location="indexOf"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="substring">            <http:operation location="substring"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="replaceFirst">            <http:operation location="replaceFirst"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="getChars">            <http:operation location="getChars"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>        </wsdl:operation>        <wsdl:operation name="compareTo">            <http:operation location="compareTo"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="hashCode">            <http:operation location="hashCode"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="subSequence">            <http:operation location="subSequence"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="equals">            <http:operation location="equals"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="matches">            <http:operation location="matches"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="endsWith">            <http:operation location="endsWith"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="valueOf">            <http:operation location="valueOf"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="length">            <http:operation location="length"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="replaceAll">            <http:operation location="replaceAll"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="toUpperCase">            <http:operation location="toUpperCase"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="codePointBefore">            <http:operation location="codePointBefore"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="offsetByCodePoints">            <http:operation location="offsetByCodePoints"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="toLowerCase">            <http:operation location="toLowerCase"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="startsWith">            <http:operation location="startsWith"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="split">            <http:operation location="split"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="copyValueOf">            <http:operation location="copyValueOf"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="compareToIgnoreCase">            <http:operation location="compareToIgnoreCase"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="toCharArray">            <http:operation location="toCharArray"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="lastIndexOf">            <http:operation location="lastIndexOf"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="codePointAt">            <http:operation location="codePointAt"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="contentEquals">            <http:operation location="contentEquals"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="isEmpty">            <http:operation location="isEmpty"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="getBytes">            <http:operation location="getBytes"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="trim">            <http:operation location="trim"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="codePointCount">            <http:operation location="codePointCount"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="format">            <http:operation location="format"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="concat">            <http:operation location="concat"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="replace">            <http:operation location="replace"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="contains">            <http:operation location="contains"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="equalsIgnoreCase">            <http:operation location="equalsIgnoreCase"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="toString">            <http:operation location="toString"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>        <wsdl:operation name="charAt">            <http:operation location="charAt"/>            <wsdl:input>                <mime:content type="application/xml" part="parameters"/>            </wsdl:input>            <wsdl:output>                <mime:content type="application/xml" part="parameters"/>            </wsdl:output>        </wsdl:operation>    </wsdl:binding>    <wsdl:service name="String">        <wsdl:port name="StringHttpSoap11Endpoint" binding="ns:StringSoap11Binding">            <soap:address location="http://localhost:8080/axis2/serv/String.StringHttpSoap11Endpoint/"/>        </wsdl:port>        <wsdl:port name="StringHttpSoap12Endpoint" binding="ns:StringSoap12Binding">            <soap12:address location="http://localhost:8080/axis2/serv/String.StringHttpSoap12Endpoint/"/>        </wsdl:port>        <wsdl:port name="StringHttpEndpoint" binding="ns:StringHttpBinding">            <http:address location="http://localhost:8080/axis2/serv/String.StringHttpEndpoint/"/>        </wsdl:port>    </wsdl:service></wsdl:definitions>

有关wsdl格式的内容相关知识点可以参见我相关博客wsdl格式详解。

0 0
原创粉丝点击