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.

Reply via email to