This is fixed in current SVN head can u please check and see. If you still have the problem I think this is a critical bug in Axis2 we have to fix that soon , so pls create a JIRA as well.
Siamak Haschemi wrote: > Hello Robert, > > I'm going crazy with Axis2 and Failures... > > I attached > - a simplified WSDL file which seems to be valid (validated with the > WSDL Validator of the Eclipse WTP Project). > - the services.xml > - My serverside Skeleton > - My simple Client > - The xml-request > - The xml-response > - The Exception > > Thank you for your help, > > Siamak Haschemi > > -- > > <?xml version="1.0" > encoding="http://schemas.xmlsoap.org/soap/envelope/"?> > <soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> > <soapenv:Header/> > <soapenv:Body> > <getProductRequest > xmlns="http://www.haschemi.org/fault/">Test</getProductRequest> > </soapenv:Body> > </soapenv:Envelope> > > -- > > <?xml version="1.0" > encoding="http://schemas.xmlsoap.org/soap/envelope/"?> > <soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> > <soapenv:Header/> > <soapenv:Body> > <soapenv:Fault> > <faultcode>soapenv:Client</faultcode> > <faultstring>GetProductFaultException</faultstring> > <detail> > <getProductFault xmlns="http://www.haschemi.org/fault/">Dicker > Fehler!</getProductFault> > </detail> > </soapenv:Fault> > </soapenv:Body> > </soapenv:Envelope> > > -- > > Exception in thread "main" java.lang.RuntimeException: Data binding error > at org.apache.axis2.FaultStub.fromOM(FaultStub.java:407) > at org.apache.axis2.FaultStub.getProduct(FaultStub.java:174) > at Client.main(Client.java:16) > Caused by: java.lang.NullPointerException > at > org.apache.xmlbeans.impl.store.Cur$CurLoadContext.finish(Cur.java:3184) > at > org.apache.xmlbeans.impl.store.Locale.loadXMLStreamReader(Locale.java:1216) > > at > org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:843) > at > org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:826) > at > org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:231) > > at > org.haschemi.www.fault.GetProductFaultDocument$Factory.parse(GetProductFaultDocument.java:88) > > at org.apache.axis2.FaultStub.fromOM(FaultStub.java:403) > ... 2 more > > robert lazarski schrieb: > >> Try validating your wsdl file - I'm seeing some warning about missing >> types >> around getAllProductRequest . >> >> HTH, >> Robert >> http://www.braziloutsource.com/ >> >> On 4/24/06, Siamak Haschemi <[EMAIL PROTECTED]> wrote: >> >> >>> Hello to all. >>> >>> I posted this failure in the user-list but nobody responses, so I'll >>> try >>> to reach the developers because it seems like a bug. >>> >>> I generated with the attached WSDL file the serverside and the >>> clientside code. >>> >>> The reqiest from the Client is: >>> >>> <?xml version="1.0" >>> encoding="http://schemas.xmlsoap.org/soap/envelope/"?> >>> <soapenv:Envelope >>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ >>> "> >>> <soapenv:Header/> >>> <soapenv:Body> >>> <saveProductRequest xmlns="http://haschemi.org/shop/common"> >>> <product amount="11.0" amountUnit="kg" calorificValue="15000" >>> dateOfExpiry="2006-04-24+02:00" description="Tolles Brot mit tollen >>> Eigenschaften...." fromTemperatureRange="-15.0" name="Hagen Brot" >>> toTemperatureRange="30.0"/> >>> </saveProductRequest> >>> </soapenv:Body> >>> </soapenv:Envelope> >>> >>> In the Server Skeleton I throw a Exception: >>> >>> public SaveProductResponseDocument >>> saveProduct(SaveProductRequestDocument param1) OperationException { >>> final OperationException exception = new OperationException(); >>> final ExceptionMessageDocument exceptionMessageDocument = >>> ExceptionMessageDocument.Factory.newInstance(); >>> final ExceptionMessage exceptionMessage = >>> exceptionMessageDocument.addNewExceptionMessage(); >>> final LocalizedMessage localizedMessage = >>> exceptionMessage.addNewLocalizedMessage(); >>> localizedMessage.setLanguage(LocalizedMessage.Language.DE_DE); >>> localizedMessage.setMessage("Fehlerbescrhreibung"); >>> exception.setFaultMessage(exceptionMessageDocument); >>> throw exception; >>> } >>> >>> >>> And the response is: >>> >>> <?xml version="1.0" >>> encoding="http://schemas.xmlsoap.org/soap/envelope/"?> >>> <soapenv:Envelope >>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ >>> "> >>> <soapenv:Header/> >>> <soapenv:Body> >>> <soapenv:Fault> >>> <faultcode>soapenv:Client</faultcode> >>> <faultstring>OperationException</faultstring> >>> <detail> >>> <exceptionMessage xmlns="http://haschemi.org/shop/common"> >>> <localizedMessage language="de_DE" message="Fehlerbescrhreibung"/> >>> </exceptionMessage> >>> </detail> >>> </soapenv:Fault> >>> </soapenv:Body> >>> </soapenv:Envelope> >>> >>> >>> The client receives the response and throws: >>> >>> org.apache.axiom.om.OMException: java.lang.NullPointerException >>> at >>> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java >>> :207) >>> at >>> org.apache.axiom.om.impl.llom.OMElementImpl.getNextOMSibling( >>> OMElementImpl.java:263) >>> at >>> org.apache.axiom.om.impl.traverse.OMChildrenIterator.next( >>> OMChildrenIterator.java:111) >>> at >>> org.apache.axiom.soap.impl.llom.SOAPFaultImpl.getChildWithName( >>> SOAPFaultImpl.java:187) >>> at >>> org.apache.axiom.soap.impl.llom.SOAPFaultImpl.getNode(SOAPFaultImpl.java >>> >>> :119) >>> at >>> org.apache.axis2.description.OutInAxisOperationClient.execute( >>> OutInAxisOperation.java:286) >>> at org.apache.axis2.CareStub.saveProduct(CareStub.java:277) >>> at Client.main(Client.java:53) >>> Caused by: java.lang.NullPointerException >>> at >>> org.apache.axiom.soap.impl.builder.SOAPBuilderHelper.processAttributes( >>> SOAPBuilderHelper.java:90) >>> at >>> org.apache.axiom.soap.impl.builder.SOAP11BuilderHelper.handleEvent( >>> SOAP11BuilderHelper.java:146) >>> at >>> org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.constructNode( >>> StAXSOAPModelBuilder.java:310) >>> at >>> org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createOMElement( >>> >>> StAXSOAPModelBuilder.java:177) >>> at >>> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java >>> :133) >>> ... 7 more >>> >>> >>> So, did I something wrong? >>> Is there a miskate in the WSDL-file? >>> >>> Thanks for the help >>> >>> >>> Siamak Haschemi >>> >>> >>> >>> >> >> >> > > >------------------------------------------------------------------------ > >/** > * FaultSkeleton.java > * > * This file was auto-generated from WSDL > * by the Apache Axis2 version: SNAPSHOT Apr 24, 2006 (08:15:33 CEST) > */ >package org.apache.axis2; > >import org.haschemi.www.fault.GetProductFaultDocument; > >/** > * FaultSkeleton java skeleton for the axisService > */ >public class FaultSkeleton { > > /** > * Auto generated method signature > * > * @param param0 > * > */ > public org.haschemi.www.fault.GetProductResponseDocument getProduct( > org.haschemi.www.fault.GetProductRequestDocument param0) > > throws org.apache.axis2.FaultSkeleton.GetProductFaultException { > final GetProductFaultException exception = new > GetProductFaultException(); > final GetProductFaultDocument document = > GetProductFaultDocument.Factory.newInstance(); > document.setGetProductFault("Dicker Fehler!"); > > exception.setFaultMessage(document); > > throw exception; > } > > public static class GetProductFaultException extends > java.rmi.RemoteException { > > private org.haschemi.www.fault.GetProductFaultDocument > faultMessage; > > public void > setFaultMessage(org.haschemi.www.fault.GetProductFaultDocument msg) { > faultMessage = msg; > } > > public org.haschemi.www.fault.GetProductFaultDocument > getFaultMessage() { > return faultMessage; > } > } > >} > > >------------------------------------------------------------------------ > ><?xml version="1.0" encoding="UTF-8"?> ><wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:tns="http://www.haschemi.org/fault/" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="f" > targetNamespace="http://www.haschemi.org/fault/"> > <wsdl:types> > <xsd:schema targetNamespace="http://www.haschemi.org/fault/"> > <xsd:element name="getProductResponse" type="xsd:string" /> > <xsd:element name="getProductRequest" type="xsd:string" /> > <xsd:element name="getProductFault" type="xsd:string"></xsd:element> > </xsd:schema> > </wsdl:types> > <wsdl:message name="getProductResponse"> > <wsdl:part name="getProductResponse" element="tns:getProductResponse" /> > </wsdl:message> > <wsdl:message name="getProductRequest"> > <wsdl:part name="getProductRequest" element="tns:getProductRequest" /> > </wsdl:message> > <wsdl:message name="getProductFault"> > <wsdl:part name="getProductFault" > element="tns:getProductFault"></wsdl:part> > </wsdl:message> > <wsdl:portType name="fault"> > <wsdl:operation name="getProduct"> > <wsdl:input name="getProductRequest" message="tns:getProductRequest" /> > <wsdl:output name="getProductResponse" message="tns:getProductResponse" > /> > <wsdl:fault name="getProductFault" message="tns:getProductFault" /> > </wsdl:operation> > </wsdl:portType> > <wsdl:binding name="faultSOAP" type="tns:fault"> > <soap:binding style="document" > transport="http://schemas.xmlsoap.org/soap/http" /> > <wsdl:operation name="getProduct"> > <soap:operation soapAction="http://www.haschemi.org/fault/getProduct" /> > <wsdl:input> > <soap:body parts="getProductRequest" use="literal" /> > </wsdl:input> > <wsdl:output> > <soap:body parts="getProductResponse" use="literal" /> > </wsdl:output> > <wsdl:fault name="getProductFault"> > <soap:fault name="getProductFault" use="literal" /> > </wsdl:fault> > </wsdl:operation> > </wsdl:binding> > <wsdl:service name="fault"> > <wsdl:port binding="tns:faultSOAP" name="faultSOAP"> > <soap:address location="http://www.example.org/" /> > </wsdl:port> > </wsdl:service> ></wsdl:definitions> > > >------------------------------------------------------------------------ > ><!-- This file was auto-generated from WSDL --> ><!-- by the Apache Axis2 version: #axisVersion# #today# --> ><serviceGroup> > <service name="fault"> > <messageReceivers> > <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" > class="org.apache.axis2.FaultMessageReceiverInOut" /> > </messageReceivers> > <parameter name="ServiceClass" > locked="false">org.apache.axis2.FaultSkeleton</parameter> > <operation name="getProduct" mep="http://www.w3.org/2004/08/wsdl/in-out"> > <actionMapping>http://www.haschemi.org/fault/getProduct</actionMapping> > </operation> > </service> ></serviceGroup> > > >------------------------------------------------------------------------ > >import org.apache.axis2.FaultStub; >import org.apache.axis2.context.ConfigurationContext; >import org.apache.axis2.context.ConfigurationContextFactory; >import org.haschemi.www.fault.GetProductRequestDocument; > >public class Client { > public static void main(String[] args) throws Exception { > ConfigurationContext configContext = ConfigurationContextFactory > > .createConfigurationContextFromFileSystem("client_repo", null); > > final FaultStub faultStub = new FaultStub(configContext, > "http://localhost:1234/axis2/services/fault"); > > final GetProductRequestDocument document = > GetProductRequestDocument.Factory.newInstance(); > document.setGetProductRequest("Test"); > faultStub.getProduct(document); > } >} > > -- Thanks, Deepal ................................................................ ~Future is Open~ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
