Hi,

I have created a http webservice using axis (literal/wrapped) style and
deployed it in Tomcat. 
By entering "http://localhost:8080/axis/services/fibonacci?wsdl"; in browser
following wsdl gets generated.


 <?xml version="1.0" encoding="UTF-8" ?> 
- <wsdl:definitions targetNamespace="urn:fibonacci"
xmlns:apachesoap="http://xml.apache.org/xml-soap"; xmlns:impl="urn:fibonacci"
xmlns:intf="urn:fibonacci" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
- <!-- 
WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)

  --> 
- <wsdl:types>
- <schema elementFormDefault="qualified" targetNamespace="urn:fibonacci"
xmlns="http://www.w3.org/2001/XMLSchema";>
- <element name="calculateFibonacci">
- <complexType>
- <sequence>
  <element name="in0" type="xsd:int" /> 
  </sequence>
  </complexType>
  </element>
- <element name="calculateFibonacciResponse">
- <complexType>
- <sequence>
  <element name="calculateFibonacciReturn" type="xsd:int" /> 
  </sequence>
  </complexType>
  </element>
- <element name="calculateFibonacciRange">
- <complexType>
- <sequence>
  <element name="in0" type="xsd:int" /> 
  <element name="in1" type="xsd:int" /> 
  </sequence>
  </complexType>
  </element>
- <element name="calculateFibonacciRangeResponse">
- <complexType>
- <sequence>
  <element maxOccurs="unbounded" name="calculateFibonacciRangeReturn"
type="xsd:int" /> 
  </sequence>
  </complexType>
  </element>
  </schema>
  </wsdl:types>
- <wsdl:message name="calculateFibonacciRangeResponse">
  <wsdl:part element="impl:calculateFibonacciRangeResponse"
name="parameters" /> 
  </wsdl:message>
- <wsdl:message name="calculateFibonacciRequest">
  <wsdl:part element="impl:calculateFibonacci" name="parameters" /> 
  </wsdl:message>
- <wsdl:message name="calculateFibonacciRangeRequest">
  <wsdl:part element="impl:calculateFibonacciRange" name="parameters" /> 
  </wsdl:message>
- <wsdl:message name="calculateFibonacciResponse">
  <wsdl:part element="impl:calculateFibonacciResponse" name="parameters" /> 
  </wsdl:message>
- <wsdl:portType name="Fibonacci">
- <wsdl:operation name="calculateFibonacci">
  <wsdl:input message="impl:calculateFibonacciRequest"
name="calculateFibonacciRequest" /> 
  <wsdl:output message="impl:calculateFibonacciResponse"
name="calculateFibonacciResponse" /> 
  </wsdl:operation>
- <wsdl:operation name="calculateFibonacciRange">
  <wsdl:input message="impl:calculateFibonacciRangeRequest"
name="calculateFibonacciRangeRequest" /> 
  <wsdl:output message="impl:calculateFibonacciRangeResponse"
name="calculateFibonacciRangeResponse" /> 
  </wsdl:operation>
  </wsdl:portType>
- <wsdl:binding name="fibonacciSoapBinding" type="impl:Fibonacci">
  <wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"; /> 
- <wsdl:operation name="calculateFibonacci">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="calculateFibonacciRequest">
  <wsdlsoap:body use="literal" /> 
  </wsdl:input>
- <wsdl:output name="calculateFibonacciResponse">
  <wsdlsoap:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
- <wsdl:operation name="calculateFibonacciRange">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="calculateFibonacciRangeRequest">
  <wsdlsoap:body use="literal" /> 
  </wsdl:input>
- <wsdl:output name="calculateFibonacciRangeResponse">
  <wsdlsoap:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
- <wsdl:service name="FibonacciService">
- <wsdl:port binding="impl:fibonacciSoapBinding" name="fibonacci">
  <wsdlsoap:address location="http://localhost:8080/axis/services/fibonacci";
/> 
  </wsdl:port>
  </wsdl:service>
  </wsdl:definitions>


1)I created service unit and I have placed this wsdl file(fib.wsdl)
in(src\main\resources) of service unit(cxf-se).

2)I have added following entry in xbean of service unit(cxf-se):

<beans xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0";>

<cxfse:endpoint> 
<cxfse:pojo> 
<bean class="org.apache.servicemix.samples.webservice.FibonacciClient"> 
</bean>
 </cxfse:pojo>
 </cxfse:endpoint>

</beans>


3)I have added following entry in pom.xml file of service unit(cxf-se) to
generate xfire client stub during run time.



<plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
                <execution>
                        <phase>generate-sources</phase>
                        <configuration>
                                <tasks>
                                        <taskdef 
classname="org.codehaus.xfire.gen.WsGenTask" name="wsgen"
classpathref="maven.compile.classpath">
                                        </taskdef>
                                        
                                        <wsgen
                                                
wsdl="${basedir}/src/main/resources/fib.wsdl"
                                                
outputDirectory="${basedir}/target/generated-sources"
                                                
profile="org.codehaus.xfire.jaxws.gen.JAXWSProfile"
                                                explicitAnnotation="true" />
                                </tasks>
                                <sourceRoot>
                                        ${basedir}/target/generated-sources
                                </sourceRoot>
                        </configuration>
                        <goals>
                                <goal>run</goal>
                        </goals>
                </execution>
        </executions>
</plugin>


4)I also created one binding component Service unit(cxf-bc) and placed the
same wsdl file (fib.wsdl)under(src\main\resources).

5)I have added following xbean entry in Binding component xbean::

<cxfbc:provider wsdl="/wsdl/fib.wsdl"
locationURI="http://localhost:8080/axis/services/fibonacci";
service="fib:FibonacciService" endpoint="FibonacciClient"
interfaceName="fib:Fibonacci" > </cxfbc:provider>

6)When I give mvn install all the neccessary jar and class file gets
generated properly.

7)Following Client stubs class file gets generated
under(target\classess\fibonacci) folder of cxf-se service unit.

i)CalculateFibonacci.java
ii)CalculateFibonacciRange.java
iii)CalculateFibonacciRangeResponse.java
iv)CalculateFibonacciResponse.java
v)Fibonacci.java
vi)FibonacciServiceImpl.java
vii)FibonacciServiceService.java
vIII)ObjectFactory.java


8) Now I dont know how to write client class to invoke that external
webservice which is running on tomcat server deployed using axis.

9)Where do I need to place Client Class which I need to use to Invoke this
exgternal web service?Will it work if i place it under (src\main\java) of
cxf-se service unit?

10) Which of the following generated class do i need to use to invoke the
method of external web service?

11) Do i need to make any additional entry in xbean/pom files?

Please help me in this as this is on high priority..

Thanks
Jayasree.B

-- 
View this message in context: 
http://www.nabble.com/Urgent%21%21-Need-input-to-create-Web-service-Client-in-Service-mix.-tp18338086p18338086.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to