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.

Reply via email to