Hi, How do you call the web service? In which directory do you put the stub classes? Thanks in advance.
pascale4 wrote: > > The web service exposed is deployed in tomcat 4.1.29 with axis. > To call the web service I have generated stub class (java class) with > Axis, but unfortunately I have a little problem with WSDL generated by > service mix. It seems WSDL is not generated correctly. As you can see at > this link > http://www.nabble.com/forum/ViewPost.jtp?post=8369564&framed=y&skin=12049 > http://www.nabble.com/forum/ViewPost.jtp?post=8369564&framed=y&skin=12049 > > I will notice when I solve the problem. > > Massimo > > > beyond30lyc wrote: >> >> Thank you very much! I am looking for this method for a whole day,but >> have you used this method to integrate the .NET external web service? >> And i think that when we call a web service,we have to generate a proxy >> first,when we do this, Shall we generate sources first,or this will be >> done automaticaly when we call the service. >> Wishing for your help! >> >> pascale4 wrote: >>> >>> Hi, >>> after a lot of test I learnt how to expose an external web service >>> through http-component. >>> >>> Suppose you have a web service with this wsdl : >>> >>> <?xml version="1.0" encoding="UTF-8"?> >>> <wsdl:definitions >>> targetNamespace="http://localhost:8080/helloworldws/services/HelloWorldService" >>> xmlns="http://schemas.xmlsoap.org/wsdl/" >>> xmlns:apachesoap="http://xml.apache.org/xml-soap" >>> xmlns:impl="http://localhost:8080/helloworldws/services/HelloWorldService" >>> xmlns:intf="http://localhost:8080/helloworldws/services/HelloWorldService" >>> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" >>> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" >>> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" >>> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> >>> <wsdl:types/> >>> <wsdl:message name="echoResponse"> >>> <wsdl:part name="echoReturn" type="xsd:string"/> >>> </wsdl:message> >>> <wsdl:message name="echoRequest"> >>> </wsdl:message> >>> <wsdl:portType name="HelloWorldService"> >>> <wsdl:operation name="echo"> >>> <wsdl:input message="impl:echoRequest" name="echoRequest"/> >>> <wsdl:output message="impl:echoResponse" name="echoResponse"/> >>> </wsdl:operation> >>> </wsdl:portType> >>> <wsdl:binding name="HelloWorldServiceSoapBinding" >>> type="impl:HelloWorldService"> >>> <wsdlsoap:binding style="rpc" >>> transport="http://schemas.xmlsoap.org/soap/http"/> >>> <wsdl:operation name="echo"> >>> <wsdlsoap:operation soapAction=""/> >>> <wsdl:input name="echoRequest"> >>> <wsdlsoap:body >>> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" >>> namespace="http://localhost:8080/helloworldws/services/HelloWorldService" >>> use="encoded"/> >>> </wsdl:input> >>> <wsdl:output name="echoResponse"> >>> <wsdlsoap:body >>> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" >>> namespace="http://localhost:8080/helloworldws/services/HelloWorldService" >>> use="encoded"/> >>> </wsdl:output> >>> </wsdl:operation> >>> </wsdl:binding> >>> <wsdl:service name="HelloWorldServiceService"> >>> <wsdl:port binding="impl:HelloWorldServiceSoapBinding" >>> name="HelloWorldService"> >>> <wsdlsoap:address >>> location="http://localhost:8080/helloworldws/services/HelloWorldService"/> >>> </wsdl:port> >>> </wsdl:service> >>> </wsdl:definitions> >>> >>> Then you have to define an http-component provider with this xbean.xml : >>> >>> <?xml version="1.0" encoding="UTF-8"?> >>> <beans >>> xmlns:http="http://servicemix.apache.org/http/1.0" >>> >>> xmlns:ns1="http://localhost:8080/helloworldws/services/HelloWorldService" >>>> >>> <http:endpoint >>> service="ns1:HelloWorldServiceService" >>> endpoint="HelloWorldService" >>> role="provider" >>> >>> locationURI="http://localhost:8080/helloworldws/services/HelloWorldService" >>> >>> wsdlResource="http://localhost:8080/helloworldws/services/HelloWorldService?wsdl" >>> /> >>> </beans> >>> >>> where >>> - ns1 : must match namespaces in wsdl >>> - service : must match value of attribute name of element wsdl:service >>> in wsdl >>> <wsdl:service name="HelloWorldServiceService"> >>> - endpoint : must match value of attribute name of element wsdl:port >>> <wsdl:port binding="impl:HelloWorldServiceSoapBinding" >>> name="HelloWorldService"> >>> >>> Now you have to define http-component consumer with this xbean.xml : >>> >>> <?xml version="1.0" encoding="UTF-8"?> >>> <beans >>> xmlns:http="http://servicemix.apache.org/http/1.0" >>> >>> xmlns:ns1="http://localhost:8080/helloworldws/services/HelloWorldService" >>>> >>> <http:endpoint >>> service="ns1:HelloWorldServiceConsumer" >>> endpoint="HelloWorldEndpointConsumer" >>> role="consumer" >>> targetService="ns1:HelloWorldServiceService" >>> locationURI="http://localhost:8192/services/HelloWorldService/" >>> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" >>> /> >>> </beans> >>> >>> where >>> - ns1 : must match namespaces in wsdl >>> - targetService : must match service value in xbean.xml of provider >>> <http:endpoint >>> service="ns1:HelloWorldServiceService" >>> endpoint="HelloWorldService" >>> role="provider" >>> >>> And this is the jbi.xml of Service Assembly : >>> <?xml version="1.0" encoding="UTF-8"?> >>> <jbi xmlns="http://java.sun.com/xml/ns/jbi" version="1.0"> >>> <service-assembly> >>> <identification> >>> <name>helloworld-sa</name> >>> <description>Codices :: HelloWorld :: SA</description> >>> </identification> >>> <service-unit> >>> <identification> >>> <name>http-su-provider</name> >>> <description>Http BC provider</description> >>> </identification> >>> <target> >>> <artifacts-zip>http-su-provider.zip</artifacts-zip> >>> <component-name>servicemix-http</component-name> >>> </target> >>> </service-unit> >>> <service-unit> >>> <identification> >>> <name>http-su-consumer</name> >>> <description>Http BC consumer</description> >>> </identification> >>> <target> >>> <artifacts-zip>http-su-consumer.zip</artifacts-zip> >>> <component-name>servicemix-http</component-name> >>> </target> >>> </service-unit> >>> </service-assembly> >>> </jbi> >>> >>> That's all folks >>> >>> This is the source http://www.nabble.com/file/5642/helloworld-sa.zip >>> helloworld-sa.zip >>> >>> Massimo >>> >> >> > > -- View this message in context: http://www.nabble.com/Expose-external-web-service-with-http-component-%28very-simplified%29-tf3014055s12049.html#a8385708 Sent from the ServiceMix - User mailing list archive at Nabble.com.
