You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Daniel Kulp <dk...@apache.org> on 2010/09/25 03:30:42 UTC

Re: issues in cxf client after converting wsdl to java

The soap message looks correct for that WSDL.   It sounds like a bug on the 
server side, but I'd have know idea how to start looking for that.

Dan


On Monday 20 September 2010 12:32:04 pm chandan28_mail wrote:
> Hello,
>  i am in an urgent need of help. its been a week but i am not able to
> figure out the problem;
> I used the wsdl poseted below to convert to java anc crate a jar file using
> CXF; I have been able to successfully generate the .jar file with
> dependencies; I am using jonas server. When i run the client i get the
> following result.
> 
> 2010-09-20 15:04:37,167 : LoggingOutInterceptor$LoggingCallback.onClose :
> Outbound Message
> 
> ---------------------------
> Encoding: UTF-8
> Headers: {SOAPAction=[""], Accept=[*]}
> Messages:
> Payload: <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body>
> <getBillingPeriodRangeRequest
> xmlns="http://ws.cxf.francetelecom.com"><uuid>10072601/10072
> 60100000001</uuid><lang>fr_FR</lang><channel>1</channel><source>WSS-ATOL</s
> ource><offerTyp
> e>2</offerType><subTreeUId>0</subTreeUId><partyUId>32309</partyUId></getBi
> llingPeriodRange Request></soap:Body></soap:Envelope>
> --------------------------------------
> 2010-09-20 15:04:37,558 : LoggingInInterceptor.logging : Inbound Message
> ----------------------------
> Encoding: UTF-8
> Headers: {connection=[close], Date=[Mon, 20 Sep 2010 13:04:30 GMT],
> transfer-encoding=[chu
> nked], Server=[Apache], content-type=[text/xml;charset=utf-8]}
> Messages:
> Message:
> 
> Payload: <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope
> xmlns:soapenv="http://sch
> emas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="h
> ttp://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><soapenv:Fault><fau
> ltcode xmlns:ns
> 1="http://xml.apache.org/axis/">ns1:Client</faultcode><faultstring>No such
> operation 'getB
> illingPeriodRangeRequest'</faultstring><detail><ns2:hostname
> xmlns:ns2="http://xml.apache.
> org/axis/">dvedv332</ns2:hostname></detail></soapenv:Fault></soapenv:Body><
> /soapenv:Envelo pe>
> 
> 
> The error is in this line --> <faultstring>No such operation
> 'getBillingPeriodRangeRequest'</faultstring>
> Its really strange coz it is looking for an operation which doesnt exist
> and which it shldnt be looking for this. Is ther anything wrong with my
> wsdl.
> 
> The client code is:
> 
>  JaxWsProxyFactoryBean factory = new
> org.apache.cxf.jaxws.JaxWsProxyFactoryBean();
> 	           factory.setServiceClass(GetBillingPeriodRange.class);
> 	           factory.setAddress(attributes.getWsURL().toString());
> 	         factory.getInInterceptors().add(new
> org.apache.cxf.interceptor.LoggingInInterceptor());
> 	          factory.getOutInterceptors().add(new
> org.apache.cxf.interceptor.LoggingOutInterceptor());
> 	           GetBillingPeriodRange billingService = (GetBillingPeriodRange)
> factory.create();
> 
> 	           result=billingService.manageGetBillingPeriodRange(request);
> 
> 
> My wsdl is:
> 
> <wsdl:definitions targetNamespace="http://ws.cxf.francetelecom.com"
> 		xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
> 		xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> 		xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
> 		xmlns:impl="http://ws.cxf.francetelecom.com"
> 		xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> 
> 	<wsdl:types>
> 
> 		<schema elementFormDefault="qualified"
> targetNamespace="http://ws.cxf.francetelecom.com"
> 				xmlns="http://www.w3.org/2001/XMLSchema">
> 			<complexType abstract="true" name="AbstractHeader">
> 
> 				<sequence>
> 				<element name="uuid" type="xsd:string"/>
> 				<element name="lang" type="xsd:string"/>
> 				<element name="channel" type="xsd:unsignedInt"/>
> 				</sequence>
> 			</complexType>
> 
> 			<complexType abstract="true" name="AbstractRequest">
> 
> 				<complexContent>
> 
> 					<extension base="impl:AbstractHeader">
> 
> 						<sequence>
> 							<element maxOccurs="1" minOccurs="0" 
name="billingAccountUid"
> type="xsd:string"/>
> 							<element maxOccurs="1" minOccurs="0" name="resourceType"
> type="xsd:string"/>
> 							<element maxOccurs="1" minOccurs="0" name="resourceRef"
> type="xsd:string"/>
> 							<element maxOccurs="1" minOccurs="0" name="source"
> type="xsd:string"/>
> 							<element maxOccurs="1" minOccurs="0" name="offerType"
> type="xsd:string"/>
> 						</sequence>
> 					</extension>
> 				</complexContent>
> 			</complexType>
> 			<element name="getBillingPeriodRangeRequest">
> 			<complexType>
> 
> 				<complexContent>
> 
> 					<extension base="impl:AbstractRequest">
> 
> 						<sequence>
> 							<element maxOccurs="1" minOccurs="0" name="subTreeUId"
> type="xsd:string"/>
> 							<element maxOccurs="1" minOccurs="0" name="subTreeDate"
> type="xsd:dateTime"/>
> 							<element name="partyUId" type="xsd:string"/>
> 						</sequence>
> 					</extension>
> 				</complexContent>
> 			</complexType>
> 			</element>
> 
> 			<complexType name="Status">
> 
> 				<sequence>
> 					<element name="statusCode" type="xsd:string"/>
> 					<element name="statusType" type="xsd:unsignedInt"/>
> 					<element name="statusName" type="xsd:string"/>
> 					<element maxOccurs="1" minOccurs="0" name="statusDescription"
> type="xsd:string"/>
> 				</sequence>
> 			</complexType>
> 
> 			<complexType name="StatusList">
> 
> 				<sequence>
> 					<element maxOccurs="unbounded" name="status" 
type="impl:Status"/>
> 				</sequence>
> 			</complexType>
> 
> 			<complexType abstract="true" name="AbstractResponse">
> 
> 				<complexContent>
> 
> 					<extension base="impl:AbstractHeader">
> 
> 						<sequence>
> 							<element name="statusList" type="impl:StatusList"/>
> 						</sequence>
> 					</extension>
> 				</complexContent>
> 			</complexType>
> 
> 			<complexType name="PeriodForGetBillingPeriodRange">
> 
> 				<sequence>
> 					<element maxOccurs="1" minOccurs="0" name="startDate"
> type="xsd:dateTime"/>
> 					<element maxOccurs="1" minOccurs="0" name="endDate"
> type="xsd:dateTime"/>
> 					<element name="periodType" type="xsd:unsignedInt"/>
> 					<element name="periodNumber" type="xsd:unsignedInt"/>
> 				</sequence>
> 			</complexType>
> 
> 			<complexType name="PeriodsForGetBillingPeriodRange">
> 
> 				<sequence>
> 					<element maxOccurs="unbounded" name="period"
> type="impl:PeriodForGetBillingPeriodRange"/>
> 				</sequence>
> 			</complexType>
> 		<element name="getBillingPeriodRangeResponse">
> 			<complexType>
> 
> 				<complexContent>
> 
> 					<extension base="impl:AbstractResponse">
> 
> 						<sequence>
> 							<element maxOccurs="1" minOccurs="0" name="startDate"
> type="xsd:dateTime"/>
> 							<element maxOccurs="1" minOccurs="0" name="endDate"
> type="xsd:dateTime"/>
> 							<element maxOccurs="1" minOccurs="0" name="periodType"
> type="xsd:unsignedInt"/>
> 							<element maxOccurs="1" minOccurs="0" name="periods"
> type="impl:PeriodsForGetBillingPeriodRange"/>
> 						</sequence>
> 					</extension>
> 				</complexContent>
> 			</complexType>
> 		</element>
> 		</schema>
> 	</wsdl:types>
> 
> 	<wsdl:message name="manageGetBillingPeriodRangeResponse">
> 		<wsdl:part element="impl:getBillingPeriodRangeResponse"
> name="getBillingPeriodRangeResponse"/>
> 	</wsdl:message>
> 
> 	<wsdl:message name="manageGetBillingPeriodRangeRequest">
> 		<wsdl:part element="impl:getBillingPeriodRangeRequest"
> name="getBillingPeriodRangeRequest"/>
> 	</wsdl:message>
> 
> 	<wsdl:portType name="GetBillingPeriodRange">
> 			<wsdl:operation name="manageGetBillingPeriodRange"
> parameterOrder="getBillingPeriodRangeRequest">
> 			<wsdl:input message="impl:manageGetBillingPeriodRangeRequest"
> name="manageGetBillingPeriodRangeRequest"/>
> 			<wsdl:output message="impl:manageGetBillingPeriodRangeResponse"
> name="manageGetBillingPeriodRangeResponse"/>
> 		</wsdl:operation>
> 	</wsdl:portType>
> 
> 	<wsdl:binding name="GetBillingPeriodRangeSoapBinding"
> type="impl:GetBillingPeriodRange">
> 		<wsdlsoap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> 
> 		<wsdl:operation name="manageGetBillingPeriodRange">
> 			<wsdlsoap:operation soapAction=""/>
> 
> 			<wsdl:input name="manageGetBillingPeriodRangeRequest">
> 				<wsdlsoap:body use="literal"/>
> 			</wsdl:input>
> 
> 			<wsdl:output name="manageGetBillingPeriodRangeResponse">
> 				<wsdlsoap:body use="literal"/>
> 			</wsdl:output>
> 		</wsdl:operation>
> 	</wsdl:binding>
> 
> 	<wsdl:service name="GetBillingPeriodRangeService">
> 
> 		<wsdl:port binding="impl:GetBillingPeriodRangeSoapBinding"
> name="GetBillingPeriodRange">
> 			<wsdlsoap:address
> location="http://10.101.4.93:9013/SF_G4R6/services/GetBillingPeriodRange"/>
> 		</wsdl:port>
> 	</wsdl:service>
> </wsdl:definitions>

-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog