Hi I made the annotation changes in HelloTest and HellotestImpl.java as per your suggesstion.But I am getting following error.
Unmarshalling Error : unexpected element (uri:"http://swebservice.samples.servicemix.apache.org/", local:"sayHello"). Expected elements are (none) Actually I am using Java as first way.I have created following HelloTest.java and HelloImpl.Java first and then using Javatowsdl I am generating wsdl. In the pom.xml of Service Unit (Service engine) I have added following entry to generate wsdl from java.. <plugin> <groupId>org.apache.cxf</groupId> <artifactId>cxf-codegen-plugin</artifactId> <version>${cxf-version}</version> <dependencies> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>${cxf-version}</version> </dependency> </dependencies> <executions> <execution> <id>generate-wsdl</id> <phase>process-classes</phase> <configuration> <className>org.apache.servicemix.samples.hello.HelloTest</className> <verbose>true</verbose> <outputFile>${project.build.directory}/generated-sources/jaxws/Hello.wsdl</outputFile> <verbose>true</verbose> <argline>-classdir ${project.build.directory}/classes</argline> </configuration> <goals> <goal>java2wsdl</goal> </goals> </execution> </executions> </plugin> Is the entry in pom file is correct?Am I missing something? Do I need to do any entry in xbean file?? Thanks in advance Jayasree.B Freeman Fang wrote: > > jayasreeb wrote: >> Hi >> >> I created interface HelloTest and and implemenation class >> HelloTestImpl.java >> >> >> HelloTest.java >> >> package org.apache.servicemix.samples.hello; >> import javax.jws.WebService; >> >> @WebService(targetNamespace = >> "http://swebservice.samples.servicemix.apache.org/") >> >> > the annotation here should be > @WebService(targetNamespace > ="http://swebservice.samples.servicemix.apache.org/", name="HelloTest") > >> public interface HelloTest{ >> >> public abstract String sayHello(String name); >> } >> >> HelloTestImpl.java >> >> package org.apache.servicemix.samples.webservice; >> import org.apache.servicemix.samples.hello.*; >> import javax.jws.WebService; >> @WebService(targetNamespace = >> "http://swebservice.samples.servicemix.apache.org/") >> > the annotation here should be > @WebService(targetNamespace > ="http://swebservice.samples.servicemix.apache.org/", > serviceName="HelloTestService", > endpointInterface="org.apache.servicemix.samples.hello.HelloTest" ) > > Also, since you are using wsdl first way, you should generate code from > wsdl by cxf wsdl2java, cxf tool will take care of annotation for you. >> public class HelloTestImpl implements HelloTest{ >> private String message = "HELLO!!!!!"; >> >> public String sayHello(String name) { >> return message + name + "."; >> } >> } >> >> >> Then by giving following entry in pom file of service unit i generated >> wsdl >> file from java... >> >> >> <plugin> >> <groupId>org.apache.cxf</groupId> >> <artifactId>cxf-codegen-plugin</artifactId> >> <version>${cxf-version}</version> >> >> <dependencies> >> <dependency> >> <groupId>org.apache.cxf</groupId> >> <artifactId>cxf-rt-frontend-jaxws</artifactId> >> <version>${cxf-version}</version> >> >> </dependency> >> </dependencies> >> <executions> >> <execution> >> <id>generate-wsdl</id> >> <phase>process-classes</phase> >> <configuration> >> <className>org.apache.servicemix.samples.hello.HelloTest</className> >> <verbose>true</verbose> >> <outputFile>${project.build.directory}/generated-sources/jaxws/Hello.wsdl</outputFile> >> <verbose>true</verbose> >> <argline>-classdir ${project.build.directory}/classes</argline> >> </configuration> >> <goals> >> <goal>java2wsdl</goal> >> </goals> >> </execution> >> </executions> >> </plugin> >> >> Jayasree.B >> >> >> Freeman Fang wrote: >> >>> Hi, >>> I suspect your HelloTestImpl is not annotated correctly, what it looks >>> like? >>> Is it inherit from the interface HelloTest.java which you generate using >>> cxf wsdl2java tool? >>> >>> Freeman >>> >>> >>> jayasreeb wrote: >>> >>>> Hi, >>>> >>>> Please find my cxf se xbean entry. >>>> >>>> <?xml version="1.0" encoding="UTF-8"?> >>>> <beans xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0"> >>>> >>>> <cxfse:endpoint> >>>> <cxfse:pojo> >>>> <bean >>>> class="org.apache.servicemix.samples.webservice.HelloTestImpl" /> >>>> </cxfse:pojo> >>>> </cxfse:endpoint> >>>> >>>> </beans> >>>> >>>> >>>> Please find my cxf bc entry >>>> >>>> <?xml version="1.0" encoding="UTF-8"?> >>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0" >>>> xmlns:hello="http://swebservice.samples.servicemix.apache.org/"> >>>> >>>> <cxfbc:consumer wsdl="classpath:Hello.wsdl" >>>> targetService="hello:HelloTestService" >>>> targetInterface="hello:HelloTest"/> >>>> >>>> </beans> >>>> >>>> Thanks for your help >>>> Jayasree.B >>>> >>>> >>>> >>>> >>>> Freeman Fang wrote: >>>> >>>> >>>>> Hi, >>>>> >>>>> Please append the xbean.xml for your cxf se and cxf bc endpoint. >>>>> >>>>> Freeman >>>>> >>>>> jayasreeb wrote: >>>>> >>>>> >>>>>> Hi, >>>>>> >>>>>> I have created http web service "Hello" by following "cxf-wsdl-first" >>>>>> example.I have created a service engine,binding component and service >>>>>> assembly.I deployed webservice successfully in Servicemix. >>>>>> >>>>>> When I am giving "http://localhost:9090/hello/?wsdl" in browser >>>>>> I am successfully getting following wsdl. >>>>>> >>>>>> <?xml version="1.0" encoding="utf-8" ?> >>>>>> - <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" >>>>>> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" >>>>>> xmlns:tns="http://swebservice.samples.servicemix.apache.org/" >>>>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="HelloTestService" >>>>>> targetNamespace="http://swebservice.samples.servicemix.apache.org/"> >>>>>> - <wsdl:types> >>>>>> - <xsd:schema attributeFormDefault="unqualified" >>>>>> elementFormDefault="unqualified" >>>>>> targetNamespace="http://swebservice.samples.servicemix.apache.org/" >>>>>> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" >>>>>> xmlns:tns="http://swebservice.samples.servicemix.apache.org/" >>>>>> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" >>>>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> >>>>>> <xsd:element name="sayHello" type="tns:sayHello" /> >>>>>> - <xsd:complexType name="sayHello"> >>>>>> - <xsd:sequence> >>>>>> <xsd:element minOccurs="0" name="arg0" type="xsd:string" /> >>>>>> </xsd:sequence> >>>>>> </xsd:complexType> >>>>>> <xsd:element name="sayHelloResponse" type="tns:sayHelloResponse" /> >>>>>> - <xsd:complexType name="sayHelloResponse"> >>>>>> - <xsd:sequence> >>>>>> <xsd:element minOccurs="0" name="return" type="xsd:string" /> >>>>>> </xsd:sequence> >>>>>> </xsd:complexType> >>>>>> </xsd:schema> >>>>>> </wsdl:types> >>>>>> - <wsdl:message name="sayHello"> >>>>>> <wsdl:part element="tns:sayHello" name="parameters" /> >>>>>> </wsdl:message> >>>>>> - <wsdl:message name="sayHelloResponse"> >>>>>> <wsdl:part element="tns:sayHelloResponse" name="parameters" /> >>>>>> </wsdl:message> >>>>>> - <wsdl:portType name="HelloTest"> >>>>>> - <wsdl:operation name="sayHello"> >>>>>> <wsdl:input message="tns:sayHello" name="sayHello" /> >>>>>> <wsdl:output message="tns:sayHelloResponse" name="sayHelloResponse" >>>>>> /> >>>>>> </wsdl:operation> >>>>>> </wsdl:portType> >>>>>> - <wsdl:binding name="HelloTestServiceSoapBinding" >>>>>> type="tns:HelloTest"> >>>>>> <soap:binding style="document" >>>>>> transport="http://schemas.xmlsoap.org/soap/http" /> >>>>>> - <wsdl:operation name="sayHello"> >>>>>> <soap:operation soapAction="" style="document" /> >>>>>> - <wsdl:input name="sayHello"> >>>>>> <soap:body use="literal" /> >>>>>> </wsdl:input> >>>>>> - <wsdl:output name="sayHelloResponse"> >>>>>> <soap:body use="literal" /> >>>>>> </wsdl:output> >>>>>> </wsdl:operation> >>>>>> </wsdl:binding> >>>>>> - <wsdl:service name="HelloTestService"> >>>>>> - <wsdl:port binding="tns:HelloTestServiceSoapBinding" >>>>>> name="HelloTestPort"> >>>>>> <soap:address location="http://localhost:9090/hello/" /> >>>>>> </wsdl:port> >>>>>> </wsdl:service> >>>>>> </wsdl:definitions> >>>>>> >>>>>> >>>>>> My requirement is to invoke this deployed web service from Axis >>>>>> 1.4.So >>>>>> I >>>>>> have created Axis client stubs by mentioning the above url and got >>>>>> the >>>>>> following classes.I used following command to get the client stubs. >>>>>> >>>>>> java org.apache.axis.wsdl.WSDL2Java http://localhost:9090/hello/?wsdl >>>>>> -p >>>>>> esri.aws.v2006 -v >>>>>> >>>>>> Following classes got generated : >>>>>> >>>>>> HelloTest.java >>>>>> HelloTestService.java >>>>>> HelloTestServiceLocator.java >>>>>> HelloTestServiceSoapBindingStub.java >>>>>> >>>>>> I created a client test class to access the java method sayHello() >>>>>> which >>>>>> is >>>>>> defined in Webservice deployed in Sevicemix. >>>>>> >>>>>> public class SuccessHelloClient { >>>>>> >>>>>> public static void main(String args[]){ >>>>>> System.out.println("inside main of client test"); >>>>>> HelloTestService hts = new HelloTestServiceLocator(); >>>>>> //HelloTest ht = hts.getHelloTestPort(); >>>>>> try{ >>>>>> String output = hts.getHelloTestPort().sayHello("sree"); >>>>>> System.out.println("output---"+output); >>>>>> }catch(Exception e){ >>>>>> System.out.println("inside exception---"+e); >>>>>> } >>>>>> >>>>>> } >>>>>> >>>>>> I got the following error message.. >>>>>> >>>>>> >>>>>> Could not find route for exchange: InOut[ >>>>>> id: ID:10.66.177.114-11adcc83874-2:0 >>>>>> status: Active >>>>>> role: provider >>>>>> interface: >>>>>> {http://swebservice.samples.servicemix.apache.org/}HelloTest >>>>>> service: >>>>>> {http://swebservice.samples.servicemix.apache.org/}HelloTestService >>>>>> operation: >>>>>> {http://swebservice.samples.servicemix.apache.org/}sayHello >>>>>> in: <?xml version="1.0" encoding="UTF-8"?><jbi:message >>>>>> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" >>>>>> xmlns:msg="http://swebservice.samples.servicemix.apache.org/" >>>>>> name="sayHello" type="msg:sayHello" version="1.0"><jbi:part><sayHello >>>>>> xmlns="http://swebservice.samples.servicemix.apache.org/"><arg0 >>>>>> xmlns="">sree</arg0></sayHello></jbi:part></jbi:message> >>>>>> ] for service: >>>>>> {http://swebservice.samples.servicemix.apache.org/}HelloTestService >>>>>> and >>>>>> interface: >>>>>> {http://swebservice.samples.servicemix.apache.org/}HelloTest >>>>>> >>>>>> >>>>>> >>>>>> Please help me in resolving this as this is on high priority.... >>>>>> >>>>>> I would like to know whether we can invoke Fuse webservice from >>>>>> AXIS?If >>>>>> so >>>>>> what are the steps required to do it?If not what do I need to do to >>>>>> invoke >>>>>> Web service deployed in Service mix from stand alone Java Program? >>>>>> >>>>>> Jayasree.B >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> >> > > > -- View this message in context: http://www.nabble.com/Urgent-%3A%3Ajbi.messaging.MessagingException%3ACould-not-find-route-for-exchange%3AInout-tp18208994p18210031.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
