Simon:

Generated code might legitimately throw either IllegalArgumentExceptions or
IllegalStateExceptions with appropriately descriptive error messages, but if
it's throwing a descriptionless NullPointerException, it has a bug in it.
Even if you eventually find a workaround, please file a JIRA for this issue
so that the code gets fixed.

Thanks.

Derek

> -----Original Message-----
> From: Simon West [mailto:[EMAIL PROTECTED] 
> Sent: Tuesday, August 01, 2006 11:40 AM
> To: [email protected]
> Subject: Re: envelop null. how to invoke an axis 2 method?
> 
> 
> Thanks for the fast answer, but its the same problem. I added: 
> 
> <wsdl:message name="GetCategoriesRequest"/>
> 
> to my wsdl.  But an invokation produces:
> 
> java.lang.NullPointerException
>       at 
> org.apache.axis2.context.MessageContext.setEnvelope(MessageCon
> text.java:681)
>       at 
> org.apache.axis2.ProductStub.GetCategories(ProductStub.java:119)
>       at ProductTest.main(ProductTest.java:10)
> 
> Here is the new WSDL again:
> 
> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>       xmlns:tns="http://www.example.org/Product/";
>       xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
>       xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
>       xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
>       xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>       xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
>       targetNamespace="http://www.example.org/Product/";>
>       <wsdl:types>
>               <xsd:schema 
> targetNamespace="http://www.example.org/Product/";
>                       elementFormDefault="unqualified"
>                       attributeFormDefault="unqualified">
>                       <xsd:element name="Categories">
>                               <xsd:complexType>
>                                       <xsd:sequence>
>                                               <xsd:element 
> type="xsd:string" name="Category"
>                                                       
> maxOccurs="unbounded" />
>                                       </xsd:sequence>
>                               </xsd:complexType>
>                       </xsd:element>
>               </xsd:schema>
>       </wsdl:types>
>       <wsdl:message name="GetCategoriesRequest" />
>       <wsdl:message name="GetCategoriesResponse">
>               <wsdl:part element="tns:Categories" name="part1" />
>       </wsdl:message>
>       <wsdl:portType name="ProductPortType">
>               <wsdl:operation name="GetCategories">
>                       <wsdl:input 
> message="tns:GetCategoriesRequest" />
>                       <wsdl:output 
> message="tns:GetCategoriesResponse" />
>               </wsdl:operation>
>       </wsdl:portType>
>       <wsdl:binding type="tns:ProductPortType"
>               name="ProductSOAP11Binding">
>               <soap:binding style="document"
>                       
> transport="http://schemas.xmlsoap.org/soap/http"; />
>               <wsdl:operation name="GetCategories">
>                       <soap:operation style="document"
>                               
> soapAction="http://www.example.org/Product/GetCategories"; />
>                       <wsdl:input>
>                               <soap:body 
> namespace="http://www.example.org/Product/";
>                                       use="literal" />
>                       </wsdl:input>
>                       <wsdl:output>
>                               <soap:body 
> namespace="http://www.example.org/Product/";
>                                       use="literal" />
>                       </wsdl:output>
>               </wsdl:operation>
>       </wsdl:binding>
>       <wsdl:binding type="tns:ProductPortType"
>               name="ProductSOAP12Binding">
>               <soap12:binding style="document"
>                       
> transport="http://schemas.xmlsoap.org/soap/http"; />
>               <wsdl:operation name="GetCategories">
>                       <soap12:operation style="document"
>                               
> soapAction="http://www.example.org/Product/GetCategories"; />
>                       <wsdl:input>
>                               <soap12:body 
> namespace="http://www.example.org/Product/";
>                                       use="literal" />
>                       </wsdl:input>
>                       <wsdl:output>
>                               <soap12:body 
> namespace="http://www.example.org/Product/";
>                                       use="literal" />
>                       </wsdl:output>
>               </wsdl:operation>
>       </wsdl:binding>
>       <wsdl:service name="Product">
>               <wsdl:port binding="tns:ProductSOAP11Binding"
>                       name="ProductSOAP11port0">
>                       <soap:address
>                               
> location="http://localhost:8080/axis2/services/Product"; />
>               </wsdl:port>
>               <wsdl:port binding="tns:ProductSOAP12Binding"
>                       name="ProductSOAP12port0">
>                       <soap12:address
>                               
> location="http://localhost:8080/axis2/services/Product"; />
>               </wsdl:port>
>       </wsdl:service>
> </wsdl:definitions>
> 
> Simon
> 
> 
> > -----Ursprüngliche Nachricht-----
> > Von: [email protected]
> > Gesendet: 01.08.06 19:28:28
> > An: [email protected]
> > Betreff: Re: envelop null. how to invoke an axis 2 method?
> 
> 
> > You must define a <wsdl:message> for your request message, 
> even if you 
> > have no arguments. In that case, you just define an empty message, 
> > e.g.,
> > 
> >      <wsdl:message name="GetCategoriesRequest"/>
> > 
> > Anne
> > 
> > 
> > On 8/1/06, Simon West <[EMAIL PROTECTED]> wrote:
> > > Hello,
> > > i build my first webservice and i got a big problem. I 
> modified the 
> > > \samples\wsdl\perf.wsdl. I want to make a method which has no 
> > > arguments an retrieves an list of strings. I generated 
> the classes 
> > > and deployed the service. Now the problem is that i cant 
> invoke my 
> > > method. I get this exception:
> > >
> > > public static void main(String[] args) {
> > >                 try {
> > >                         ProductStub ps = new ProductStub();
> > >                         ps.GetCategories();
> > >                 } catch (Exception e) {
> > >                         e.printStackTrace();
> > >                 }
> > >         }
> > >
> > > produces
> > >
> > > java.lang.NullPointerException
> > >         at 
> org.apache.axis2.context.MessageContext.setEnvelope(MessageCon
> text.java:681)
> > >         at 
> testclient.org.apache.axis2.ProductStub.GetCategories(ProductS
> tub.java:109)
> > >         at testclient.ProductTest.main(ProductTest.java:14)
> > >
> > > But i have already implemented the server side as:
> > >
> > > public class ProductSkeleton {
> > >
> > >         public org.example.www.product.Categories GetCategories()
> > >         {
> > >                 Categories c = new Categories();
> > >                 c.addCategory("hello");
> > >                 c.addCategory("cya");
> > >                 return c;
> > >         }
> > > }
> > >
> > > The wsdl is a little bit longer but maybe helpfull:
> > >
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <wsdl:definitions 
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
> > >         xmlns:tns="http://www.example.org/Product/";
> > >         xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
> > >         xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
> name="Product"
> > >         targetNamespace="http://www.example.org/Product/";>
> > >         <wsdl:types>
> > >                 <xsd:schema 
> targetNamespace="http://www.example.org/Product/";>
> > >                         <xsd:element name="Categories">
> > >                                 <xsd:complexType>
> > >                                         <xsd:sequence>
> > >                                                 
> <xsd:element name="Category" type="xsd:string"
> > >                                                         
> minOccurs="1" maxOccurs="unbounded">
> > >                                                 </xsd:element>
> > >                                         </xsd:sequence>
> > >                                 </xsd:complexType>
> > >                         </xsd:element>
> > >                 </xsd:schema>
> > >         </wsdl:types>
> > >         <wsdl:message name="GetCategoriesResponse">
> > >                 <wsdl:part element="tns:Categories"
> > >                         name="GetCategoriesResponse" />
> > >         </wsdl:message>
> > >         <wsdl:portType name="Product">
> > >                 <wsdl:operation name="GetCategories">
> > >                         <wsdl:input 
> message="tns:GetCategoriesRequest" />
> > >                         <wsdl:output 
> message="tns:GetCategoriesResponse" />
> > >                 </wsdl:operation>
> > >         </wsdl:portType>
> > >         <wsdl:binding name="ProductSOAP" type="tns:Product">
> > >                 <soap:binding style="document"
> > >                         
> transport="http://schemas.xmlsoap.org/soap/http"; />
> > >                 <wsdl:operation name="GetCategories">
> > >                         <soap:operation
> > >                                 
> soapAction="http://www.example.org/Product/GetCategories"; />
> > >                         <wsdl:input>
> > >                                 <soap:body 
> parts="GetCategoriesRequest" use="literal" />
> > >                         </wsdl:input>
> > >                         <wsdl:output>
> > >                                 <soap:body 
> parts="GetCategoriesResponse" use="literal" />
> > >                         </wsdl:output>
> > >                 </wsdl:operation>
> > >         </wsdl:binding>
> > >         <wsdl:service name="Product">
> > >                 <wsdl:port binding="tns:ProductSOAP" 
> name="ProductSOAP">
> > >                         <soap:address 
> location="http://www.example.org/"; />
> > >                 </wsdl:port>
> > >         </wsdl:service>
> > > </wsdl:definitions>
> > >
> > > Maybe someone can help me how to invoke this method?
> > >
> > > Best regards
> > > Simon 
> > > 
> ____________________________________________________________________
> > > _
> > > Der WEB.DE SmartSurfer hilft bis zu 70% Ihrer 
> Onlinekosten zu sparen!
> > > http://smartsurfer.web.de/?mc=100071&distributionid=000000000071
> > >
> > >
> > > 
> --------------------------------------------------------------------
> > > -
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> > 
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> 
> 
> ______________________________________________________________
> Verschicken Sie romantische, coole und witzige Bilder per 
> SMS! Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to