Hi, This is a known limitation in Axis2. Axis2 uses Woden to provide WSDL 2.0 support, the Woden project is in the process of writing a serializer (Its not available yet) So once we build the object model using a WSDL 2.0 document we have no way of werializing it out. So the only option we have is to serialize the AxisService to WSDL a 2.0 doc. So you will never be able to get an original WSDL for the WSDL 2.0 case.
Thanks, Keith. On Fri, Jun 6, 2008 at 12:30 PM, Yassou <[EMAIL PROTECTED]> wrote: > Hi ! > > My probleme is that the WSDL2.0 description after deployement in axis2 is > not the same WSDL2.0 description provided in the begining > I provide this: > > <?xml version="1.0" encoding="UTF-8"?> > <wsdl2:description xmlns:wsdl2="http://www.w3.org/ns/wsdl" xmlns:tns=" > http://wsdl2package" xmlns:wsoap="http://www.w3.org/ns/wsdl/soap" > xmlns:wrpc="http://www.w3.org/ns/wsdl/rpc" xmlns:ns1=" > http://org.apache.axis2/xsd" xmlns:wsaw=" > http://www.w3.org/2006/05/addressing/wsdl" xmlns:wsdlx=" > http://www.w3.org/ns/wsdl-extensions" xmlns:ns="http://wsdl2package" > xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:whttp=" > http://www.w3.org/ns/wsdl/http" > targetNamespace="http://wsdl2package"><http://wsdl2package%22%3e/> > > <wsdl2:documentation> > Please Type your service description here > </wsdl2:documentation> > > <wsdl2:types> > <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" > targetNamespace="http://wsdl2package"> > <xs:element name="add"> > <xs:complexType> > <xs:sequence> > <xs:element minOccurs="0" name="a" type="xs:int" /> > <xs:element minOccurs="0" name="b" type="xs:int" /> > </xs:sequence> > </xs:complexType> > </xs:element> > <xs:element name="addResponse"> > <xs:complexType> > <xs:sequence> > <xs:element minOccurs="0" name="return" type="xs:int" /> > </xs:sequence> > </xs:complexType> > </xs:element> > </xs:schema> > </wsdl2:types> > > <wsdl2:interface name="ServiceInterface"> > <wsdl2:operation name="add" style="http://www.w3.org/ns/wsdl/style/rpc" > wrpc:signature="a #in b #in return #return " pattern=" > http://www.w3.org/ns/wsdl/in-out"><http://www.w3.org/ns/wsdl/in-out%22%3E> > <wsdl2:input element="ns:add" wsaw:Action="urn:add" /><wsdl2:output > element="ns:addResponse" wsaw:Action="urn:addResponse" /> > </wsdl2:operation> > </wsdl2:interface> > > <wsdl2:binding name="Wsdl2classHttpBinding" > interface="tns:ServiceInterface" whttp:methodDefault="POST" type=" > http://www.w3.org/ns/wsdl/http"><wsdl2:operation<http://www.w3.org/ns/wsdl/http%22%3E%3Cwsdl2:operation>ref="tns:add" > whttp:location="Wsdl2class/add" /> > </wsdl2:binding> > > <wsdl2:service name="Wsdl2class" interface="tns:ServiceInterface"> > <wsdl2:endpoint name="Wsdl2classHttpEndpoint" > binding="tns:Wsdl2classHttpBinding" address=" > http://127.0.0.1:8080/axis2/services/Wsdl2class.Wsdl2classHttpEndpoint" /> > </wsdl2:service> > </wsdl2:description> > > > with this service.xml : > > <?xml version="1.0" encoding="UTF-8"?> > <!-- This file was auto-generated from WSDL --> > <!-- by the Apache Axis2 version: 1.3 Built on : Aug 10, 2007 (04:45:47 > LKT) --> > <serviceGroup> > <service name="Wsdl2class"> > <messageReceivers> > <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out" > class="org.apache.axis2.axis2userguide.Wsdl2ClassMessageReceiverInOut"/> > </messageReceivers> > <parameter > name="ServiceClass">org.apache.axis2.axis2userguide.Wsdl2ClassSkeleton</parameter> > <parameter name="useOriginalwsdl">true</parameter> > <parameter name="modifyUserWSDLPortAddress">true</parameter> > <operation name="add" mep="http://www.w3.org/ns/wsdl/in-out"> > <actionMapping>\"\"</actionMapping> > <outputActionMapping>urn:addResponse</outputActionMapping> > </operation> > </service> > </serviceGroup> > > I execute ant jar.server and I copy build/lib/*.aar file to G:\Program > Files\Apache Software Foundation\Tomcat 5.5\webapps\axis2\WEB-INF\services > then when I check the WSDL2.0 description axis2 shows > when I write this address in address bar : > http://localhost:8080/axis2/services/Wsdl2class?wsdl2 > > > *-* <http://localhost:8080/axis2/services/Wsdl2class?wsdl2#> < > wsdl2:description xmlns:wsdl2="*http://www.w3.org/ns/wsdl*" xmlns:tns="* > http://ws.apache.org/axis2*" xmlns:wsoap="*http://www.w3.org/ns/wsdl/soap* > " xmlns:wrpc="*http://www.w3.org/ns/wsdl/rpc*" xmlns:wsaw="* > http://www.w3.org/2006/05/addressing/wsdl*" xmlns:wsdlx="* > http://www.w3.org/ns/wsdl-extensions*" xmlns:whttp="* > http://www.w3.org/ns/wsdl/http*" targetNamespace="* > http://ws.apache.org/axis2*"> > * * <wsdl2:documentation>*Wsdl2class*</wsdl2:documentation> > * * <wsdl2:types /> > *-* <http://localhost:8080/axis2/services/Wsdl2class?wsdl2#> < > wsdl2:interface name="*ServiceInterface*"> > *-* <http://localhost:8080/axis2/services/Wsdl2class?wsdl2#> < > wsdl2:operation name="*add*" pattern="*http://www.w3.org/ns/wsdl/in-out*"> > * * <wsdl2:input element="*#none*" /> > * * <wsdl2:output element="*#none*" wsaw:Action="*urn:addResponse*" /> > * * </wsdl2:operation> > * * </wsdl2:interface> > *-* <http://localhost:8080/axis2/services/Wsdl2class?wsdl2#> < > wsdl2:binding name="*Wsdl2classSoap11Binding*" interface="* > tns:ServiceInterface*" type="*http://www.w3.org/ns/wsdl/soap*"wsoap:version > ="*1.1*"> > * * <wsdl2:operation ref="*tns:add*" /> > * * </wsdl2:binding> > *-* <http://localhost:8080/axis2/services/Wsdl2class?wsdl2#> < > wsdl2:binding name="*Wsdl2classHttpBinding*" interface="* > tns:ServiceInterface*" whttp:methodDefault="*POST*" type="* > http://www.w3.org/ns/wsdl/http*"> > * * <wsdl2:operation ref="*tns:add*" whttp:location="*Wsdl2class/add*" /> > * * </wsdl2:binding> > *-* <http://localhost:8080/axis2/services/Wsdl2class?wsdl2#> < > wsdl2:binding name="*Wsdl2classSoap12Binding*" interface="* > tns:ServiceInterface*" type="*http://www.w3.org/ns/wsdl/soap*"wsoap:version > ="*1.2*"> > * * <wsdl2:operation ref="*tns:add*" /> > * * </wsdl2:binding> > *-* <http://localhost:8080/axis2/services/Wsdl2class?wsdl2#> < > wsdl2:service name="*Wsdl2class*" interface="*tns:ServiceInterface*"> > * * <wsdl2:endpoint name="*Wsdl2classHttpSoap12Endpoint*" binding="* > tns:Wsdl2classSoap12Binding*" address="* > http://192.168.10.144:8080/axis2/services/Wsdl2class.Wsdl2classHttpSoap12Endpoint > *" /> > * * <wsdl2:endpoint name="*Wsdl2classHttpEndpoint*" binding="* > tns:Wsdl2classHttpBinding*" address="* > http://192.168.10.144:8080/axis2/services/Wsdl2class.Wsdl2classHttpEndpoint > *" /> > * * <wsdl2:endpoint name="*Wsdl2classHttpSoap11Endpoint*" binding="* > tns:Wsdl2classSoap11Binding*" address="* > http://192.168.10.144:8080/axis2/services/Wsdl2class.Wsdl2classHttpSoap11Endpoint > *" /> > * * </wsdl2:service> > * * </wsdl2:description> > > > > > So as you can see, I have not one binding and one endpoint as in the > original WSDL provided > > Can you help me to have the same WSDL2.0 after deployement ? > Thanx a lot. > > > > -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
