[
https://issues.apache.org/jira/browse/AXIS2-2279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12478046
]
Davanum Srinivas commented on AXIS2-2279:
-----------------------------------------
Jude,
the original problem - NPE in inferInTransport? I think both you and original
reporter are missing jars from the axis distribution, especially the commons
http client and the jars that it needs. Try adding all the jars from axis2 dist
in your classpath.
thanks,
dims
> 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]