--wrapArrays seemingly isn't implemented with 2.0 - which I'm using again now ;-) . I was able to fix the issue simply by removing the <element/> tags around the complexType - I'm still leraning doc lit.
I'm however concerned that the jira issue resolved in AXIS-2165 is still present in 2.0 . I sent a mesage to list about this yesterday: http://marc.theaimsgroup.com/?l=axis-dev&m=113277260805012&w=2 I'm wondering if I should create another jira issue for 2.0 ? iksrazal Em Quarta 23 Novembro 2005 19:03, o Davanum Srinivas escreveu: > try --wrapArrays when running WSDL2Java. > > On 11/23/05, iksrazal <[EMAIL PROTECTED]> wrote: > > Hi Anne, thanks for the tips. I'm using the editor you recommended - runs > > on linux even ;-) . > > > > I'm getting one error still. I moved to WSDL2Java from axis v1.3 for > > better error messages. I'm sure the error has something to do with > > 'extension base' . I just resolved a jira issue on this: > > > > http://issues.apache.org/jira/browse/AXIS-2165 > > > > I'm getting: > > > > /home/iksrazal/white3/build.xml:154: WSDL processing error > > for /home/iksrazal/white3/resources/axis-jira-doclit.wsdl : > > Type {http://com/callcentreweb/types}elementReturnWeb_Base is referenced > > but not defined. > > > > I'm not quite sure how to do this with doc lit. Any ideas ? Thanks! > > > > <?xml version="1.0" encoding="UTF-8"?> > > > > <definitions name="CallCentreWebService" > > targetNamespace="http://com/callcentreweb" > > xmlns:tns="http://com/callcentreweb" > > xmlns="http://schemas.xmlsoap.org/wsdl/" > > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > > xmlns:ns2="http://com/callcentreweb/types"> > > <types> > > <schema targetNamespace="http://com/callcentreweb/types" > > xmlns:tns="http://com/callcentreweb/types" > > xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > > xmlns="http://www.w3.org/2001/XMLSchema"> > > <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> > > <element name="elementReturnWeb_Base"> > > <complexType> > > <sequence> > > <element name="tns:errorMessage" type="string"/> > > <element name="tns:successErrorCode" type="int"/> > > </sequence> > > </complexType> > > </element> > > <element name="elementReturnWeb_Login"> > > <complexType> > > <complexContent> > > <extension base="tns:elementReturnWeb_Base"> > > <sequence> > > <element name="tns:SOAP_Session_id" type="string"/> > > <element name="tns:web_user_name" type="string"/> > > </sequence> > > </extension> > > </complexContent> > > </complexType> > > </element> > > <element name="web_Login_Type"> > > <complexType> > > <sequence> > > <element ref="tns:user_nameElement"/> > > <element ref="tns:user_passwordElement"/> > > </sequence> > > </complexType> > > </element> > > <element name="user_nameElement" type="xsd:string"/> > > <element name="user_passwordElement" type="xsd:string"/> > > </schema></types> > > <message name="CallCentreWebEndpoint_web_Login"> > > <part name="parameters" element="ns2:web_Login_Type"/> > > </message> > > <message name="CallCentreWebEndpoint_web_LoginResponse"> > > <part name="result" element="ns2:elementReturnWeb_Login"/> > > </message> > > <portType name="CallCentreWebEndpoint"> > > <operation name="web_Login"> > > <input message="tns:CallCentreWebEndpoint_web_Login"/> > > <output message="tns:CallCentreWebEndpoint_web_LoginResponse"/> > > </operation> > > </portType> > > <binding name="CallCentreWebEndpointBinding" > > type="tns:CallCentreWebEndpoint"> > > <soap:binding transport="http://schemas.xmlsoap.org/soap/http" > > style="document"/> > > <operation name="web_Login"> > > <soap:operation soapAction=""/> > > <input> > > <soap:body use="literal"/> > > </input> > > <output> > > <soap:body use="literal"/> > > </output> > > </operation> > > </binding> > > <service name="CallCentreWebService"> > > <port name="CallCentreWebEndpointPort" > > binding="tns:CallCentreWebEndpointBinding"> > > <soap:address > > location="http://127.0.0.1"/></port></service></definitions> > > > > Em Quarta 23 Novembro 2005 12:08, o Anne Thomas Manes escreveu: > > > I agree that the NPE isn't particularly informative, but you do have a > > > number of errors in your WSDL. I suggest you get a WSDL editor with a > > > validation function. > > > The Cape Clear SOA Editor is free and works pretty well. > > > > > > First error: > > > You have two elements defined in your schema named > > > "elementReturnWeb_Base" > > > > > > Second set of errors: > > > You need to be more careful with your namespace qualifications. In your > > > message parts, you don't qualify the referenced elements, so it > > > defaults to the wsdl namespace. e.g., > > > > > > This: > > > <part name="user_name" element="user_nameElement"/> > > > > > > should be this: > > > <part name="user_name" element="tns:user_nameElement"/> > > > > > > And finally: > > > When using document style, a message must contain at most one body > > > part. You have two body parts in your login request. You must create a > > > wrapper element (preferably with the same name as the operation) and > > > use that as your input element. e.g., > > > > > > <x:element name="web_Login"> > > > <x:complexType> > > > <x:sequence> > > > <x:element ref="tns:user_nameElement"/> > > > <x:element ref="tns:user_passwordElement"/> > > > </x:sequence> > > > </x:complexType> > > > </x:element> > > > > > > <w:message name="CallCentreWebEndpoint_web_Login"> > > > <w:part name="parameters" element="tns:web_Login"/> > > > </message> > > > > > > Anne > > > > > > On 11/23/05, iksrazal <[EMAIL PROTECTED]> wrote: > > > > Hi all, > > > > > > > > I'm trying to convert a simple wsdl from rpc encoded to doc lit and > > > > wsdl 2.0. > > > > Please excuse if I'm making a simple error here. However, the wsdl is > > > > valid > > > > xml. I'm getting: > > > > > > > > ./WSDL2Java.sh -uri wout/axis-jira-doclit.wsdl -o wout/ > > > > ... > > > > > > > > Exception in thread "main" java.lang.NullPointerException > > > > at > > > > org.apache.axis2.wsdl.builder.wsdl4j.WSDLPump.generateWrapperSchema( > > > > WSDLPump.java:633) > > > > at > > > > org.apache.axis2.wsdl.builder.wsdl4j.WSDLPump.populateDefinition( > > > > WSDLPump.java:153) > > > > at > > > > org.apache.axis2.wsdl.builder.wsdl4j.WSDLPump.pump(WSDLPump.java:100) > > > > at > > > > org.apache.axis2.wsdl.builder.wsdl4j.WSDL1ToWOMBuilder.build( > > > > WSDL1ToWOMBuilder.java:126) > > > > at > > > > org.apache.axis2.wsdl.builder.wsdl4j.WSDL1ToWOMBuilder.build( > > > > WSDL1ToWOMBuilder.java:95) > > > > at > > > > org.apache.axis2.wsdl.codegen.CodeGenerationEngine.getWOM( > > > > CodeGenerationEngine.java:117) > > > > at > > > > org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>( > > > > CodeGenerationEngine.java:47) > > > > at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:30) > > > > at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:21) > > > > > > > > The line throwing is: > > > > > > > > if > > > > (XMLSCHEMA_NAMESPACE_URI.equals(schemaTypeName.getNamespaceURI())){ > > > > > > > > Here's my wsdl, once again please excuse if there is an error, but > > > > even still > > > > perhaps the the error should'nt be NPE. > > > > > > > > <?xml version="1.0" encoding="UTF-8"?> > > > > > > > > <definitions name="CallCentreWebService" > > > > targetNamespace="http://com/callcentreweb" > > > > xmlns:tns="http://com/callcentreweb" xmlns=" > > > > http://schemas.xmlsoap.org/wsdl/" > > > > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > > > > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > > > > xmlns:ns2="http://com/callcentreweb/types"> > > > > <types> > > > > <schema targetNamespace="http://com/callcentreweb/types" > > > > xmlns:tns="http://com/callcentreweb/types" > > > > xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" > > > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > > > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > > > > xmlns="http://www.w3.org/2001/XMLSchema"> > > > > <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> > > > > <element name="elementReturnWeb_Base"> > > > > <complexType name="ReturnWeb_Base"> > > > > <sequence> > > > > <element name="errorMessage" type="string"/> > > > > <element name="successErrorCode" type="int"/> > > > > </sequence> > > > > </complexType> > > > > </element> > > > > <element name="elementReturnWeb_Base"> > > > > <complexType name="ReturnWeb_Login"> > > > > <complexContent> > > > > <extension base="tns:ReturnWeb_Base"> > > > > <sequence> > > > > <element name="SOAP_Session_id" type="string"/> > > > > <element name="web_user_name" type="string"/> > > > > </sequence> > > > > </extension> > > > > </complexContent> > > > > </complexType> > > > > </element> > > > > <element name="user_nameElement" type="xsd:string"/> > > > > <element name="user_passwordElement" type="xsd:string"/> > > > > </schema></types> > > > > <message name="CallCentreWebEndpoint_web_Login"> > > > > <part name="user_name" element="user_nameElement"/> > > > > <part name="user_password" element="user_passwordElement"/> > > > > </message> > > > > <message name="CallCentreWebEndpoint_web_LoginResponse"> > > > > <part name="result" element="elementReturnWeb_Login"/> > > > > </message> > > > > <portType name="CallCentreWebEndpoint"> > > > > <operation name="web_Login" parameterOrder="user_name > > > > user_password"> <input > > > > message="tns:CallCentreWebEndpoint_web_Login"/> > > > > <output message="tns:CallCentreWebEndpoint_web_LoginResponse"/> > > > > </operation> > > > > </portType> > > > > <binding name="CallCentreWebEndpointBinding" > > > > type="tns:CallCentreWebEndpoint"> > > > > <soap:binding transport="http://schemas.xmlsoap.org/soap/http" > > > > style="document"/> > > > > <operation name="web_Login"> > > > > <soap:operation soapAction=""/> > > > > <input> > > > > <soap:body use="literal"/> > > > > </input> > > > > <output> > > > > <soap:body use="literal"/> > > > > </output> > > > > </operation> > > > > </binding> > > > > <service name="CallCentreWebService"> > > > > <port name="CallCentreWebEndpointPort" > > > > binding="tns:CallCentreWebEndpointBinding"> > > > > <soap:address > > > > location="http://127.0.0.1"/></port></service></definitions> > > > > > > > > -- > > > > Faster, better, cheaper - choose two of the above. - Old > > > > engineering proverb > > > > > > > > It's easier to ask for forgiveness than permission. - Another old > > > > engineering proverb > > -- > Davanum Srinivas : http://wso2.com/blogs/
