I'll be happy to file a bug on this, but does this seems like very basic functionality. If something this basic doesn't work, how can people be using Axis in production? Not trying to critize, I'm just trying to understand the scope of this bug.
On 11/9/05, Anne Thomas Manes <[EMAIL PROTECTED]> wrote: > Please file a bug report. > > > On 11/9/05, Paul Barry <[EMAIL PROTECTED]> wrote: > > Still having this problem ,wondering if anyone can help me out. All > > the details are below, but basically I have created a very simple web > > service and it seems to work fine, but when I go to this url: > > > > http://localhost/axis/services/MyService?wsdl > > > > In the WSDL that is returned, the <types> element doesn't have the > > wsdl namespace that it needs to have. I should be <wsdl:types>. How > > do I get axis to generate a WSDL with <wsdl:types> instead of <types>. > > This is axis 1.2.1 with JDK 1.5. > > > > On 10/29/05, Paul Barry <[EMAIL PROTECTED]> wrote: > > > The WSDL is generated by axis. It comes from me going to: > > > > > > http://localhost/axis/services/MyService?wsdl > > > > > > How do I get axis to generate it with wsdl:types instead of just types? > > > > > > On 10/28/05, Anne Thomas Manes < [EMAIL PROTECTED]> wrote: > > > > You must namespace qualify the element: > > > > > > > > <wsdl:types> > > > > > > > > not > > > > > > > > <types> > > > > > > > > Anne > > > > > > > > > > > > On 10/27/05, Paul Barry <[EMAIL PROTECTED]> wrote: > > > > > Hello, > > > > > > > > > > I am trying to run wsdl2java against my WSDL, but I am getting this > error: > > > > > > > > > > WSDLException (at /wsdl:definitions/types): faultCode=INVALID_WSDL: > > > > > Encountered illegal extension element 'types' in the context of a > > > > > 'javax.wsdl.Definition'. Extension elements must be in a namespace > > > > > other than WSDL's.: > > > > > at > > > > > com.ibm.wsdl.xml.WSDLReaderImpl.parseExtensibilityElement(Unknown > > > > Source) > > > > > at > com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions > > > > (Unknown Source) > > > > > at > com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown > > > > Source) > > > > > at > com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown > > > > Source) > > > > > at > com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown > > > > Source) > > > > > at > > > > > org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:516) > > > > > at > > > > > org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:495) > > > > > at > org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run > > > > (Parser.java:361) > > > > > at java.lang.Thread.run(Unknown Source) > > > > > > > > > > Any idea what causes this problem? I am using a very basic service > > > > > and the WSDL is generated by axis. Here is my WSDL: > > > > > > > > > > <?xml version=" 1.0" encoding="UTF-8"?> > > > > > <wsdl:definitions > > > > > xmlns:impl=" > http://localhost/axis/services/MyService" > > > > > xmlns:intf=" > http://localhost/axis/services/MyService" > > > > > xmlns:apachesoap=" http://xml.apache.org/xml-soap" > > > > > xmlns:wsdlsoap=" > http://schemas.xmlsoap.org/wsdl/soap/" > > > > > > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > > > > > xmlns:xsd=" http://www.w3.org/2001/XMLSchema " > > > > > xmlns:tns1="urn:MyService" > > > > > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > > > > > targetNamespace=" > > > > http://localhost/axis/services/MyService"> > > > > > <!--WSDL created by Apache Axis version: 1.2.1 > > > > > Built on Jun 14, 2005 (09:15:57 EDT)--> > > > > > <types> > > > > > <schema xmlns=" http://www.w3.org/2001/XMLSchema" > > > > > targetNamespace="urn:MyService"> > > > > > <import > > > > > namespace="http://schemas.xmlsoap.org/soap/encoding/"/ > > > > > > <complexType name="MyBean"> > > > > > <sequence> > > > > > <element name="name" nillable="true" type="xsd:string"/> > > > > > </sequence> > > > > > > > > > > </complexType> > > > > > </schema> > > > > > </types> > > > > > > > > > > <wsdl:message name="getMyBeanResponse"> > > > > > > > > > > <wsdl:part name="getMyBeanReturn" type="tns1:MyBean"/> > > > > > > > > > > </wsdl:message> > > > > > > > > > > <wsdl:message name="getMyBeanRequest"> > > > > > > > > > > </wsdl:message> > > > > > > > > > > <wsdl:portType name="MyService"> > > > > > > > > > > <wsdl:operation name="getMyBean"> > > > > > > > > > > <wsdl:input name="getMyBeanRequest" > > > > message="impl:getMyBeanRequest"/> > > > > > > > > > > <wsdl:output name="getMyBeanResponse" > > > > > message="impl:getMyBeanResponse"/> > > > > > > > > > > </wsdl:operation> > > > > > > > > > > </wsdl:portType> > > > > > > > > > > <wsdl:binding name="MyServiceSoapBinding" type="impl:MyService"> > > > > > > > > > > <wsdlsoap:binding style="rpc" > > > > > transport="http://schemas.xmlsoap.org/soap/http"/ > > > > > > > > > > > <wsdl:operation name="getMyBean"> > > > > > > > > > > <wsdlsoap:operation soapAction=""/> > > > > > > > > > > <wsdl:input name="getMyBeanRequest"> > > > > > > > > > > <wsdlsoap:body use="encoded" > > > > > > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/ > > > > " > > > > > namespace="http://paulbarry.com"/> > > > > > > > > > > </wsdl:input> > > > > > > > > > > <wsdl:output name="getMyBeanResponse"> > > > > > > > > > > <wsdlsoap:body use="encoded" > > > > > > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/ " > > > > > > namespace="http://localhost/axis/services/MyService"/ > > > > > > > > > > > </wsdl:output> > > > > > > > > > > </wsdl:operation> > > > > > > > > > > </wsdl:binding> > > > > > > > > > > <wsdl:service name="MyServiceService"> > > > > > > > > > > <wsdl:port name="MyService" > > > > binding="impl:MyServiceSoapBinding"> > > > > > > > > > > <wsdlsoap:address > > > > location=" > http://localhost/axis/services/MyService"/> > > > > > > > > > > </wsdl:port> > > > > > > > > > > </wsdl:service> > > > > > > > > > > </wsdl:definitions> > > > > > > > > > > The classes involved are very basic. I have this bean: > > > > > > > > > > package com.paulbarry; > > > > > > > > > > public class MyBean { > > > > > > > > > > private String name; > > > > > > > > > > public MyBean() {} > > > > > public MyBean(String name) { > > > > > this.name = name; > > > > > } > > > > > > > > > > public String getName() { > > > > > return name; > > > > > } > > > > > > > > > > public void setName(String name) { > > > > > this.name = name; > > > > > } > > > > > > > > > > > > > > > } > > > > > > > > > > And this service: > > > > > > > > > > package com.paulbarry; > > > > > > > > > > public class MyService { > > > > > > > > > > public MyBean getMyBean() { > > > > > return new MyBean("My Bean"); > > > > > } > > > > > > > > > > } > > > > > > > > > > I have this client, which works perfectly fine: > > > > > > > > > > package com.paulbarry; > > > > > > > > > > import javax.xml.namespace.QName; > > > > > > > > > > import org.apache.axis.client.Call; > > > > > import org.apache.axis.client.Service ; > > > > > import > > > > org.apache.axis.encoding.ser.BeanDeserializerFactory; > > > > > import > > > > org.apache.axis.encoding.ser.BeanSerializerFactory; > > > > > > > > > > public class MyClient { > > > > > > > > > > public static void main(String[] args) throws Exception { > > > > > > > > > > String endpoint = > > > > > " > http://localhost/axis/services/MyService"; > > > > > > > > > > Service service = new Service(); > > > > > Call call = (Call)service.createCall(); > > > > > > > > > > call.setTargetEndpointAddress( new java.net.URL(endpoint) ); > > > > > call.setOperationName(new QName("getMyBean") ); > > > > > > > > > > QName qn = new > QName("urn:MyService","MyBean"); > > > > > call.registerTypeMapping(MyBean.class, qn, > > > > > new BeanSerializerFactory(MyBean.class, qn), > > > > > new BeanDeserializerFactory(MyBean.class, qn)); > > > > > call.setReturnType(qn); > > > > > > > > > > MyBean bean = (MyBean)call.invoke(new Object[] {}); > > > > > > > > > > System.out.println(bean.getName()); > > > > > > > > > > } > > > > > > > > > > } > > > > > > > > > > And here is my deployment descriptor: > > > > > > > > > > <deployment xmlns=" > http://xml.apache.org/axis/wsdd/ " > > > > > > > > > > xmlns:java="http://xml.apache.org/axis/wsdd/providers/java > "> > > > > > > > > > > <service name="MyService" provider="java:RPC"> > > > > > <parameter name="className" value="com.paulbarry.MyService "/> > > > > > <parameter name="allowedMethods" value="*"/> > > > > > <beanMapping qname="myNS:MyBean" xmlns:myNS="urn:MyService" > > > > > languageSpecificType="java: com.paulbarry.MyBean"/> > > > > > </service> > > > > > > > > > > </deployment> > > > > > > > > > > > > > > > > > > > >
