[ 
https://issues.apache.org/jira/browse/AXIS2-2279?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Deepal Jayasinghe reassigned AXIS2-2279:
----------------------------------------

    Assignee: Deepal Jayasinghe

> java.lang.NullPointerException     at 
> org.apache.axis2.description.ClientUtils.inferInTransport  
> (ClientUtils.java:85)
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-2279
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2279
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 1.1.1
>         Environment: Windows XP, Eclipse 3.2 , jre 1.5.0_06, Axis2 1.1.1
>            Reporter: oliv g
>         Assigned To: Deepal Jayasinghe
>
> java.lang.NullPointerException
>       at 
> org.apache.axis2.description.ClientUtils.inferInTransport(ClientUtils.java:85)
>       at 
> org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:163)
>       at 
> fr.acme.www.myapp_v1.AskForPricingStub.AskForPricingOperation(AskForPricingStub.java:150)
>       at fr.acme.www.myapp_v1.Client.go(Client.java:51)
> which is not a clear error message.
> Server and client are generated automaticly from the wsdl with Axis2 code 
> generator and xmlbeans databinding within Eclipse
> (same result using wsdl2java.bat)
> Here is the null pointer exception (transportOut is null) at 
> org.apache.axis2.description.ClientUtils.inferInTransport  
> (ClientUtils.java:85) received when launching my client code trying to 
> invoque the available service.
>           
>   } else {
>                 //assume listener transport as sender transport
>         -->        listenerTransportProtocol = 
> msgCtxt.getTransportOut().getName().getLocalPart();
>             }
>         }
> Here is the wsdl :
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
>       xmlns:val="http://www.acme.fr/myapp_V1";
>       xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>       xmlns:xsd="http://www.w3.org/2001/XMLSchema"; name="AskForPricing"
>       targetNamespace="http://www.acme.fr/myapp_V1";>
>       <wsdl:types>
>               <xsd:schema elementFormDefault="qualified"
>                       targetNamespace="http://www.acme.fr/myapp_V1";>
>                       <xsd:include schemaLocation="myappCommonTypes.xsd" />
>                       <xsd:element name="Instruments">
>                               <xsd:complexType>
>                                       <xsd:sequence>
>                                               <xsd:element 
> maxOccurs="unbounded" minOccurs="0"
>                                                       name="Instrument" 
> type="val:InstrumentType" />
>                                       </xsd:sequence>
>                               </xsd:complexType>
>                       </xsd:element>
>                       <xsd:element name="AskForPricingOperationResponse">
>                               <xsd:complexType>
>                                       <xsd:sequence>
>                                               <xsd:element name="result" 
> type="xsd:string" />
>                                       </xsd:sequence>
>                               </xsd:complexType>
>                       </xsd:element>
>                       <xsd:element name="HeaderNCB" 
> type="val:HeaderNCBToFRType" />
>                       <xsd:element name="AskForPricingOperation_fault">
>                               <xsd:complexType>
>                                       <xsd:sequence>
>                                               <xsd:element 
> name="AskForPricingOperation_fault"
>                                                       type="xsd:string">
>                                               </xsd:element>
>                                       </xsd:sequence>
>                               </xsd:complexType>
>                       </xsd:element>
>               </xsd:schema>
>       </wsdl:types>
>       <wsdl:message name="AskForPricingOperationRequest">
>               <wsdl:part element="val:Instruments" name="ListOfInstruments" />
>       </wsdl:message>
>       <wsdl:message name="AskForPricingOperationRequestHeader">
>               <wsdl:part element="val:HeaderNCB" name="RequestHeader" />
>       </wsdl:message>
>       <wsdl:message name="AskForPricingOperationResponse">
>               <wsdl:part element="val:AskForPricingOperationResponse"
>                       name="Response" />
>       </wsdl:message>
>       <wsdl:message name="AskForPricingOperation_faultMsg">
>               <wsdl:part element="val:AskForPricingOperation_fault"
>                       name="parameters" />
>       </wsdl:message>
>       <wsdl:portType name="AskForPricing">
>               <wsdl:operation name="AskForPricingOperation">
>                       <wsdl:input message="val:AskForPricingOperationRequest" 
> />
>                       <wsdl:output 
> message="val:AskForPricingOperationResponse" />
>                       <!--  <wsdl:fault 
> message="val:AskForPricingOperation_faultMsg" name="fault"/> -->
>               </wsdl:operation>
>       </wsdl:portType>
>       <wsdl:binding name="AskForPricingSOAP" type="val:AskForPricing">
>               <soap:binding style="document"
>                       transport="http://schemas.xmlsoap.org/soap/http"; />
>               <wsdl:operation name="AskForPricingOperation">
>                       <soap:operation
>                               
> soapAction="http://www.acme.fr/myapp_V1/NewOperation"; />
>                       <wsdl:input>
>                               <soap:header
>                                       
> message="val:AskForPricingOperationRequestHeader"
>                                       part="RequestHeader" use="literal" />
>                               <soap:body parts="ListOfInstruments" 
> use="literal" />
>                       </wsdl:input>
>                       <wsdl:output>
>                               <soap:body use="literal" />
>                       </wsdl:output>
>               </wsdl:operation>
>       </wsdl:binding>
>       <wsdl:service name="AskForPricing">
>               <wsdl:port binding="val:AskForPricingSOAP"
>                       name="AskForPricingSOAP">
>                       <soap:address
>                               
> location="http://localhost:8080/myappWEB/services/AskForPricingSOAP"; />
>               </wsdl:port>
>       </wsdl:service>
> </wsdl:definitions>
> and the referenced xsd :
> <?xml version="1.0" encoding="UTF-8"?>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
>       xmlns="http://www.acme.fr/myapp_V1";
>       attributeFormDefault="unqualified" elementFormDefault="qualified"
>       targetNamespace="http://www.acme.fr/myapp_V1"; version="1.0">
>       <xs:simpleType name="NCBCountryCode">
>               <xs:restriction base="xs:string">
>                       <xs:enumeration value="AT" />
>                       <xs:enumeration value="BE" />
>                       <xs:enumeration value="DE" />
>                       <xs:enumeration value="ES" />
>                       <xs:enumeration value="FI" />
>                       <xs:enumeration value="FR" />
>                       <xs:enumeration value="GR" />
>                       <xs:enumeration value="IE" />
>                       <xs:enumeration value="IT" />
>                       <xs:enumeration value="LU" />
>                       <xs:enumeration value="NL" />
>                       <xs:enumeration value="PT" />
>                       <xs:enumeration value="DK" />
>                       <xs:enumeration value="GB" />
>                       <xs:enumeration value="LI" />
>                       <xs:enumeration value="NO" />
>                       <xs:enumeration value="IS" />
>                       <xs:enumeration value="SE" />
>               </xs:restriction>
>       </xs:simpleType>
>       <xs:complexType name="HeaderNCBType">
>               <xs:sequence>
>                       <xs:element name="senderNCB" type="NCBCountryCode" />
>                       <xs:element name="receiverNCB" type="NCBCountryCode" />
>                       <xs:element name="SubmissionDate" type="xs:dateTime" />
>               </xs:sequence>
>       </xs:complexType>
>       <xs:complexType name="HeaderNCBFromFRType">
>               <xs:complexContent>
>                       <xs:restriction base="HeaderNCBType">
>                               <xs:sequence>
>                                       <xs:element name="senderNCB" 
> type="NCBCountryCode"
>                                               fixed="FR" />
>                                       <xs:element name="receiverNCB"
>                                               type="NCBCountryCode" />
>                                       <xs:element name="SubmissionDate"
>                                               type="xs:dateTime" />
>                               </xs:sequence>
>                       </xs:restriction>
>               </xs:complexContent>
>       </xs:complexType>
>       <xs:complexType name="HeaderNCBToFRType">
>               <xs:complexContent>
>                       <xs:restriction base="HeaderNCBType">
>                               <xs:sequence>
>                                       <xs:element name="senderNCB" 
> type="NCBCountryCode" />
>                                       <xs:element name="receiverNCB" 
> type="NCBCountryCode"
>                                               fixed="FR" />
>                                       <xs:element name="SubmissionDate"
>                                               type="xs:dateTime" />
>                               </xs:sequence>
>                       </xs:restriction>
>               </xs:complexContent>
>       </xs:complexType>
>       <xs:simpleType name="InstrumentTypeType">
>               <xs:restriction base="xs:string">
>                       <xs:enumeration value="ABS" />
>               </xs:restriction>
>       </xs:simpleType>
>       <xs:simpleType name="ISINType">
>               <xs:restriction base="xs:string">
>                       <xs:minLength value="12"></xs:minLength>
>                       <xs:maxLength value="12"></xs:maxLength>
>                       <xs:pattern value="[A-Z]{2}[0-9A-Z]{9}\d{1}" />
>               </xs:restriction>
>       </xs:simpleType>
>       <xs:simpleType name="PricingErrorCodeType">
>               <xs:restriction base="xs:string">
>                       <xs:enumeration value="PriceAvailable" />
>                       <xs:enumeration value="PricingImpossible" />
>                       <xs:enumeration value="SeekingForAPricingMethod" />
>                       <xs:enumeration value="EquityNotEligible" />
>                       <xs:enumeration value="ExpiredEquity" />
>                       <xs:enumeration value="EquityNotPriceable" />
>               </xs:restriction>
>       </xs:simpleType>
>       <xs:complexType name="InstrumentType">
>               <xs:sequence>
>                       <xs:element name="ISIN" type="ISINType" />
>               </xs:sequence>
>               <xs:attribute name="type" type="InstrumentTypeType" />
>       </xs:complexType>
>       <xs:complexType name="PricedInstrumentType">
>               <xs:complexContent>
>                       <xs:extension base="InstrumentType">
>                               <xs:sequence>
>                                       <xs:element name="ErrorCode"
>                                               type="PricingErrorCodeType" />
>                                       <xs:element minOccurs="0" 
> name="CleanPrice"
>                                               type="xs:integer" />
>                                       <xs:element minOccurs="0" 
> name="PricingDate"
>                                               type="xs:dateTime" />
>                                       <xs:element minOccurs="0" 
> name="AccruedInterest"
>                                               type="xs:float" />
>                                       <xs:element minOccurs="0" 
> name="PoolFactor"
>                                               type="xs:float" />
>                               </xs:sequence>
>                       </xs:extension>
>               </xs:complexContent>
>       </xs:complexType>
> </xs:schema>
> Here is the full client code :
>               AskForPricingStub stub=new AskForPricingStub();
>               
>               InstrumentsDocument 
> doc=InstrumentsDocument.Factory.newInstance();
>               
>               fr.acme.www.myapp_v1.InstrumentsDocument.Instruments 
>               
> instruments=InstrumentsDocument.Instruments.Factory.newInstance();
>               
>               InstrumentType instru1=InstrumentType.Factory.newInstance();
>               instru1.setISIN("FR0123456789");
>               
>       
>               instru1.setType(InstrumentTypeType.ABS);
>               
>               instruments.setInstrumentArray(new InstrumentType[] { instru1});
>               doc.setInstruments(instruments);
>               
>               //HEADER
>               HeaderNCBDocument 
> header=HeaderNCBDocument.Factory.newInstance();
>               HeaderNCBToFRType 
> headerNCBToFRType=HeaderNCBToFRType.Factory.newInstance();
>               
>               Calendar submissionDate=Calendar.getInstance();
>               headerNCBToFRType.setSubmissionDate(submissionDate);
>               
>               
>               fr.acme.www.myapp_v1.NCBCountryCode.Enum 
> sender=NCBCountryCode.AT;
>               fr.acme.www.myapp_v1.NCBCountryCode.Enum 
> receiver=NCBCountryCode.FR;
>               
>       
>               headerNCBToFRType.setSenderNCB( sender);
>               headerNCBToFRType.setReceiverNCB(receiver);
>               
>               header.setHeaderNCB(headerNCBToFRType );
>               //here is fr.acme.www.myapp_v1.Client.go(Client.java:51)
>               stub.AskForPricingOperation(doc,header );

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to