You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by johanp <ca...@live.se> on 2008/03/26 08:52:33 UTC

smx to axis2 using cxf

Hi,

Implementing bundled 'person.wsdl' in Axis2
(1. cd axix2\bin 2. wsdl2java.bat -uri file:\\\C:/wsdl/person.wsdl -s -ss
-sd -o person 3. cd person 
4. ant start.server)
After that setting 'person.wsdl' as a 'cxfbc.consumer' in SMX and setting
above Axis2 impl as 
'cxfbc.provider'.
Have to rename 'wsdl:port:name' from 'soap' to something else otherwise
endpoint name conflict between 
consumer and provider. When invoking SMX it does consume but does not
provide to Axis2, no errors.

Any ideas?

(btw this works when using soap enabled smx-http-bc consumer and provider)

Tia/Johan


<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="wsdl-first"
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:tns="http://servicemix.apache.org/samples/wsdl-first"
	xmlns:typens="http://servicemix.apache.org/samples/wsdl-first/types"
	targetNamespace="http://servicemix.apache.org/samples/wsdl-first">
	<wsdl:types>
		<xsd:schema
targetNamespace="http://servicemix.apache.org/samples/wsdl-first/types"
		            elementFormDefault="qualified">
			<xsd:element name="GetPerson">
			  <xsd:complexType>
					<xsd:sequence>
						<xsd:element name="personId" type="xsd:string"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="GetPersonResponse">
			  <xsd:complexType>
					<xsd:sequence>
					    <xsd:element name="personId" type="xsd:string"/>
						<xsd:element name="ssn" type="xsd:string"/>
						<xsd:element name="name" type="xsd:string"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="UnknownPersonFault">
			  <xsd:complexType>
					<xsd:sequence>
					    <xsd:element name="personId" type="xsd:string"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
		</xsd:schema>
  </wsdl:types>
	<wsdl:message name="GetPersonRequest">
		<wsdl:part name="payload" element="typens:GetPerson"/>
	</wsdl:message>
	<wsdl:message name="GetPersonResponse">
		<wsdl:part name="payload" element="typens:GetPersonResponse"/>
	</wsdl:message>
	<wsdl:message name="UnknownPersonFault">
		<wsdl:part name="payload" element="typens:UnknownPersonFault"/>
	</wsdl:message>
    <wsdl:portType name="Person">
		<wsdl:operation name="GetPerson">
			<wsdl:input message="tns:GetPersonRequest"/>
			<wsdl:output message="tns:GetPersonResponse"/>
			<wsdl:fault name="UnknownPerson" message="tns:UnknownPersonFault"/>
		</wsdl:operation>
	</wsdl:portType>	
    <wsdl:binding name="PersonSOAPBinding" type="tns:Person">
    	<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
		<wsdl:operation name="GetPerson">
			<wsdl:input>
				<soap:body use="literal" />
			</wsdl:input>
			<wsdl:output>
				<soap:body use="literal" />
			</wsdl:output>
			<wsdl:fault name="UnknownPerson">
				<soap:fault use="literal" name="UnknownPerson" />
			</wsdl:fault>
       </wsdl:operation>
   </wsdl:binding>
    <wsdl:service name="PersonService">
    	<wsdl:port binding="tns:PersonSOAPBinding" name="soap">
           <soap:address location="http://localhost:8092/PersonService/" />
       </wsdl:port>
   </wsdl:service>
</wsdl:definitions>



<beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
	xmlns:wf="http://servicemix.apache.org/samples/wsdl-first">                      
<cxfbc:consumer wsdl="classpath:person.wsdl"
	endpoint="soap"
	targetService="wf:PersonService"
	targetInterface="wf:Person">
	<cxfbc:inInterceptors>
          <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
        </cxfbc:inInterceptors>
        <cxfbc:outInterceptors>
          <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
        </cxfbc:outInterceptors>
        <cxfbc:inFaultInterceptors>
          <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
        </cxfbc:inFaultInterceptors>
        <cxfbc:outFaultInterceptors>
          <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
        </cxfbc:outFaultInterceptors> 	
</cxfbc:consumer>
<cxfbc:provider
wsdl="http://localhost:8080/axis2/services/PersonService?wsdl"
	locationURI="http://localhost:8080/axis2/services/PersonService"

endpoint="<something-other-than-the-name-'soap'-otherwise-endpoint-name-conflict>"
	service="wf:PersonService"
	interfaceName="wf:Person">
	<cxfbc:inInterceptors>
          <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
        </cxfbc:inInterceptors>
        <cxfbc:outInterceptors>
          <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
        </cxfbc:outInterceptors>
        <cxfbc:inFaultInterceptors>
          <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
        </cxfbc:inFaultInterceptors>
        <cxfbc:outFaultInterceptors>
          <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
        </cxfbc:outFaultInterceptors>	
</cxfbc:provider>                                         
</beans>



2008-mar-26 08:24:15 org.apache.cxf.interceptor.LoggingInInterceptor logging
INFO: Inbound Message
----------------------------
Encoding: UTF-8
Headers: {Content-Length=[468], Host=[localhost:8092], User-Agent=[Mindreef
HTTP Client], SOAPAction=["(could not determ
ine SOAPAction)"], content-type=[text/xml; charset=UTF-8]}
Messages:
Message:
Payload: <soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <typens:GetPerson
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLS
chema-instance"
xmlns:typens="http://servicemix.apache.org/samples/wsdl-first/types"
xmlns:xsd="http://www.w3.org/2001/X
MLSchema">
         <typens:personId>uytiuyt</typens:personId>
      </typens:GetPerson>
   </soapenv:Body>
</soapenv:Envelope>
--------------------------------------
2008-mar-26 08:24:16 org.apache.cxf.interceptor.LoggingInInterceptor logging
INFO: Inbound Message
----------------------------
Encoding: UTF-8
Headers: {connection=[Close], Date=[Wed, 26 Mar 2008 07:24:16 GMT],
transfer-encoding=[chunked], Server=[Simple-Server/1
.1], content-type=[application/xml; charset=UTF-8]}
Messages:
Message:
Payload:
--------------------------------------
2008-mar-26 08:24:16
org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback onClose
INFO: Outbound Message
---------------------------
Encoding: UTF-8
Headers: {SOAPAction=[""]}
Messages:
Payload: <soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body
/></soap:Envelope>
--------------------------------------
-- 
View this message in context: http://www.nabble.com/smx-to-axis2-using-cxf-tp16297079s12049p16297079.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: smx to axis2 using cxf

Posted by Freeman Fang <fr...@gmail.com>.
Hi Johan,

I think the problem is you use 
wsdl="http://localhost:8080/axis2/services/PersonService?wsdl" for your 
cxf bc provider,  would you open 
http://localhost:8080/axis2/services/PersonService?wsdl from your brower 
and append the content?

Try to use wsdl="classpath:person.wsdl"  for your cxf bc provider 
configuration, this should work

Regards

Freeman

johanp wrote:
> Hi,
>
> Implementing bundled 'person.wsdl' in Axis2
> (1. cd axix2\bin 2. wsdl2java.bat -uri file:\\\C:/wsdl/person.wsdl -s -ss
> -sd -o person 3. cd person 
> 4. ant start.server)
> After that setting 'person.wsdl' as a 'cxfbc.consumer' in SMX and setting
> above Axis2 impl as 
> 'cxfbc.provider'.
> Have to rename 'wsdl:port:name' from 'soap' to something else otherwise
> endpoint name conflict between 
> consumer and provider. When invoking SMX it does consume but does not
> provide to Axis2, no errors.
>
> Any ideas?
>
> (btw this works when using soap enabled smx-http-bc consumer and provider)
>
> Tia/Johan
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions name="wsdl-first"
> 	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> 	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> 	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> 	xmlns:tns="http://servicemix.apache.org/samples/wsdl-first"
> 	xmlns:typens="http://servicemix.apache.org/samples/wsdl-first/types"
> 	targetNamespace="http://servicemix.apache.org/samples/wsdl-first">
> 	<wsdl:types>
> 		<xsd:schema
> targetNamespace="http://servicemix.apache.org/samples/wsdl-first/types"
> 		            elementFormDefault="qualified">
> 			<xsd:element name="GetPerson">
> 			  <xsd:complexType>
> 					<xsd:sequence>
> 						<xsd:element name="personId" type="xsd:string"/>
> 					</xsd:sequence>
> 				</xsd:complexType>
> 			</xsd:element>
> 			<xsd:element name="GetPersonResponse">
> 			  <xsd:complexType>
> 					<xsd:sequence>
> 					    <xsd:element name="personId" type="xsd:string"/>
> 						<xsd:element name="ssn" type="xsd:string"/>
> 						<xsd:element name="name" type="xsd:string"/>
> 					</xsd:sequence>
> 				</xsd:complexType>
> 			</xsd:element>
> 			<xsd:element name="UnknownPersonFault">
> 			  <xsd:complexType>
> 					<xsd:sequence>
> 					    <xsd:element name="personId" type="xsd:string"/>
> 					</xsd:sequence>
> 				</xsd:complexType>
> 			</xsd:element>
> 		</xsd:schema>
>   </wsdl:types>
> 	<wsdl:message name="GetPersonRequest">
> 		<wsdl:part name="payload" element="typens:GetPerson"/>
> 	</wsdl:message>
> 	<wsdl:message name="GetPersonResponse">
> 		<wsdl:part name="payload" element="typens:GetPersonResponse"/>
> 	</wsdl:message>
> 	<wsdl:message name="UnknownPersonFault">
> 		<wsdl:part name="payload" element="typens:UnknownPersonFault"/>
> 	</wsdl:message>
>     <wsdl:portType name="Person">
> 		<wsdl:operation name="GetPerson">
> 			<wsdl:input message="tns:GetPersonRequest"/>
> 			<wsdl:output message="tns:GetPersonResponse"/>
> 			<wsdl:fault name="UnknownPerson" message="tns:UnknownPersonFault"/>
> 		</wsdl:operation>
> 	</wsdl:portType>	
>     <wsdl:binding name="PersonSOAPBinding" type="tns:Person">
>     	<soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http" />
> 		<wsdl:operation name="GetPerson">
> 			<wsdl:input>
> 				<soap:body use="literal" />
> 			</wsdl:input>
> 			<wsdl:output>
> 				<soap:body use="literal" />
> 			</wsdl:output>
> 			<wsdl:fault name="UnknownPerson">
> 				<soap:fault use="literal" name="UnknownPerson" />
> 			</wsdl:fault>
>        </wsdl:operation>
>    </wsdl:binding>
>     <wsdl:service name="PersonService">
>     	<wsdl:port binding="tns:PersonSOAPBinding" name="soap">
>            <soap:address location="http://localhost:8092/PersonService/" />
>        </wsdl:port>
>    </wsdl:service>
> </wsdl:definitions>
>
>
>
> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
> 	xmlns:wf="http://servicemix.apache.org/samples/wsdl-first">                      
> <cxfbc:consumer wsdl="classpath:person.wsdl"
> 	endpoint="soap"
> 	targetService="wf:PersonService"
> 	targetInterface="wf:Person">
> 	<cxfbc:inInterceptors>
>           <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
>         </cxfbc:inInterceptors>
>         <cxfbc:outInterceptors>
>           <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
>         </cxfbc:outInterceptors>
>         <cxfbc:inFaultInterceptors>
>           <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
>         </cxfbc:inFaultInterceptors>
>         <cxfbc:outFaultInterceptors>
>           <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
>         </cxfbc:outFaultInterceptors> 	
> </cxfbc:consumer>
> <cxfbc:provider
> wsdl="http://localhost:8080/axis2/services/PersonService?wsdl"
> 	locationURI="http://localhost:8080/axis2/services/PersonService"
>
> endpoint="<something-other-than-the-name-'soap'-otherwise-endpoint-name-conflict>"
> 	service="wf:PersonService"
> 	interfaceName="wf:Person">
> 	<cxfbc:inInterceptors>
>           <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
>         </cxfbc:inInterceptors>
>         <cxfbc:outInterceptors>
>           <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
>         </cxfbc:outInterceptors>
>         <cxfbc:inFaultInterceptors>
>           <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
>         </cxfbc:inFaultInterceptors>
>         <cxfbc:outFaultInterceptors>
>           <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
>         </cxfbc:outFaultInterceptors>	
> </cxfbc:provider>                                         
> </beans>
>
>
>
> 2008-mar-26 08:24:15 org.apache.cxf.interceptor.LoggingInInterceptor logging
> INFO: Inbound Message
> ----------------------------
> Encoding: UTF-8
> Headers: {Content-Length=[468], Host=[localhost:8092], User-Agent=[Mindreef
> HTTP Client], SOAPAction=["(could not determ
> ine SOAPAction)"], content-type=[text/xml; charset=UTF-8]}
> Messages:
> Message:
> Payload: <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>    <soapenv:Body>
>       <typens:GetPerson
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:xsi="http://www.w3.org/2001/XMLS
> chema-instance"
> xmlns:typens="http://servicemix.apache.org/samples/wsdl-first/types"
> xmlns:xsd="http://www.w3.org/2001/X
> MLSchema">
>          <typens:personId>uytiuyt</typens:personId>
>       </typens:GetPerson>
>    </soapenv:Body>
> </soapenv:Envelope>
> --------------------------------------
> 2008-mar-26 08:24:16 org.apache.cxf.interceptor.LoggingInInterceptor logging
> INFO: Inbound Message
> ----------------------------
> Encoding: UTF-8
> Headers: {connection=[Close], Date=[Wed, 26 Mar 2008 07:24:16 GMT],
> transfer-encoding=[chunked], Server=[Simple-Server/1
> .1], content-type=[application/xml; charset=UTF-8]}
> Messages:
> Message:
> Payload:
> --------------------------------------
> 2008-mar-26 08:24:16
> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback onClose
> INFO: Outbound Message
> ---------------------------
> Encoding: UTF-8
> Headers: {SOAPAction=[""]}
> Messages:
> Payload: <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body
> /></soap:Envelope>
> --------------------------------------
>