Vivian, The service name on the endpoint should match the fully qualified service name in the wsdl, so if you have a targetNamespace="<some uri>" there, you have to add a namespace declaration to your xbean.xml as well and refer to the service name and namespace.
In your case, you would have to add something like xmlns:recherche="http://172.31.196.135:8080/axis/services/Recherche" and then specify the service name on the endpoint as recherche:RechercheService Regards, Gert Vanthienen ------------------------ Open Source SOA: http://fusesource.com Blog: http://gertvanthienen.blogspot.com/ 2009/6/23 Madesclair Vivian <[email protected]>: > Hello, > > I feel a bit forgotten :) So I take the liberty to bring again the attention > on this subject, as Jean Baptiste who was dealing with it seems to be > unavailable these days. I am planning to try the last version of smx as soon > as I can download it in my company (firewalls...). I did not see anything > that could help in the changelog though. > > Best regards > Vivian > > -----Message d'origine----- > De : Madesclair Vivian [mailto:[email protected]] > Envoyé : lundi 15 juin 2009 15:18 > À : [email protected]; [email protected] > Objet : RE: http-component, wsdl forwarding > > Ok, I decided to add a step. I am focusing on deploying only the provider > until it works. My xbean is as follow : > > <beans xmlns:http="http://servicemix.apache.org/http/1.0"> > <http:soap-provider service="RechercheService" > endpoint="Recherche" > wsdl="classpath:Recherche.wsdl"/> > </beans> > > Recherche.wsdl (attached file) is located in the same directory as the > xbean.xml, which is [su]/src/main/resources/ Its type is now > document/literal. Is there a special type needed for smx? I used a > RPC/encoded before and I had an exception "not WS-I compliant". This wsdl was > directly generated by Axis, for a java class exposed as service. > > I get an error "Could not find service 'RechercheService' in wsdl" while the > service and endpoint names ARE in this wsdl. I attach the log from servicemix. > > I really need some help here, I've been working on this for quite a long time > now... > > Best Regards, > Vivian > > > -----Message d'origine----- > De : Jean-Baptiste Onofré [mailto:[email protected]] Envoyé : vendredi 12 > juin 2009 16:56 À : [email protected] Objet : Re: http-component, > wsdl forwarding > > Hi Vivian, > > What's the target service/endpoint that you have ? > Have you tried using useJbiWrapper=false ? > > Regards > JB > > Madesclair Vivian wrote: >> Btw, I missed a few explaination there : I am confused because the service >> name and port in my wsdl actually match the service and endpoint in my >> xbean... I attach the files. >> >> Regards >> Vivian >> >> -----Message d'origine----- >> De : Madesclair Vivian [mailto:[email protected]] >> Envoyé : vendredi 12 juin 2009 16:22 >> À : [email protected] >> Objet : RE: http-component, wsdl forwarding >> >> Hi again, >> >> I found a way to make axis generate document/literal wsdl, which seems >> accepted by servicemix. However, I now have an error saying that my service >> can't be found in the wsdl... >> >> Here is the servicemix output : >> >> INFO - AutoDeploymentService - Directory: hotdeploy: Archive >> changed: processing end2endTest-sa-1.0-SNAPSHOT.zip ... >> ERROR - HttpComponent - >> javax.jbi.management.DeploymentException: Could not find service >> 'RechercheService' in wsdl >> [Fatal Error] :1:1: Content is not allowed in prolog. >> INFO - DeploymentService - UnDeployed ServiceUnit >> av-http-consumer-su from Component: servicemix-http >> ERROR - AutoDeploymentService - Failed to update Service Assembly: >> end2endTest-sa >> java.lang.Exception: <?xml version="1.0" encoding="UTF-8"?> <jbi-task >> xmlns="http://java.sun.com/xml/ns/jbi/management-message" >> version="1.0"> <jbi-task-result> <frmwk-task-result> >> <frmwk-task-result-details> <task-result-details> >> <task-id>deploy</task-id> <task-result>FAILED</task-result> >> <message-type>ERROR</message-type> >> </task-result-details> >> </frmwk-task-result-details> >> </frmwk-task-result> >> <component-task-result> >> <component-name>servicemix-http</component-name> >> <component-task-result-details> >> <task-result-details> >> <task-id>deploy</task-id> >> <task-result>FAILED</task-result> >> <message-type>ERROR</message-type> >> <task-status-msg> >> <msg-loc-info> >> <loc-token/> >> <loc-message>Unable to parse result string</loc-message> >> </msg-loc-info> </task-status-msg> <exception-info> >> <nesting-level>1</nesting-level> <loc-token/> <loc-message>Could not >> find service 'RechercheService' in wsdl</loc-message> >> <stack-trace><![CDATA[javax.jbi.management.DeploymentException: Could not >> find service 'RechercheService' in wsdl >> at >> org.apache.servicemix.http.endpoints.HttpSoapProviderEndpoint.validateWsdl1(HttpSoapProviderEndpoint.java:199) >> at >> org.apache.servicemix.http.endpoints.HttpSoapProviderEndpoint.validate(HttpSoapProviderEndpoint.java:166) >> at >> org.apache.servicemix.common.AbstractDeployer.validate(AbstractDeployer.java:58) >> at >> org.apache.servicemix.common.xbean.BaseXBeanDeployer.validate(BaseXBeanDeployer.java:55) >> at >> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:97) >> at >> org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88) >> at >> org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69) >> at >> org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:520) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:349) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:255) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:658) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:63) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:622) >> at java.util.TimerThread.mainLoop(Timer.java:512) >> at java.util.TimerThread.run(Timer.java:462) >> ]]></stack-trace> >> </exception-info> >> </task-result-details> >> </component-task-result-details> >> </component-task-result> >> <component-task-result >> xmlns="http://java.sun.com/xml/ns/jbi/management-message"> >> <component-name>servicemix-http</component-name> >> <component-task-result-details> >> <task-result-details> >> <task-id>deploy</task-id> >> <task-result>SUCCESS</task-result> >> </task-result-details> >> </component-task-result-details> </component-task-result> >> </jbi-task-result> </jbi-task> >> >> at >> org.apache.servicemix.jbi.framework.ManagementSupport.failure(ManagementSupport.java:125) >> at >> org.apache.servicemix.jbi.framework.ManagementSupport.failure(ManagementSupport.java:111) >> at >> org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:555) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:349) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:255) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:658) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:63) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:622) >> at java.util.TimerThread.mainLoop(Timer.java:512) >> at java.util.TimerThread.run(Timer.java:462) >> WARN - AutoDeploymentService - Directory: hotdeploy: Automatic >> install of C:\Work\Fuse-ESB-3.4.0.2\hotdeploy\end2endTest-sa-1.0-SN >> APSHOT.zip failed >> javax.jbi.management.DeploymentException: Failed to update Service Assembly: >> end2endTest-sa >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:364) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:255) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:658) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:63) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:622) >> at java.util.TimerThread.mainLoop(Timer.java:512) >> at java.util.TimerThread.run(Timer.java:462) >> Caused by: java.lang.Exception: <?xml version="1.0" encoding="UTF-8"?> >> <jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message" >> version="1.0"> <jbi-task-result> <frmwk-task-result> >> <frmwk-task-result-details> <task-result-details> >> <task-id>deploy</task-id> <task-result>FAILED</task-result> >> <message-type>ERROR</message-type> >> </task-result-details> >> </frmwk-task-result-details> >> </frmwk-task-result> >> <component-task-result> >> <component-name>servicemix-http</component-name> >> <component-task-result-details> >> <task-result-details> >> <task-id>deploy</task-id> >> <task-result>FAILED</task-result> >> <message-type>ERROR</message-type> >> <task-status-msg> >> <msg-loc-info> >> <loc-token/> >> <loc-message>Unable to parse result string</loc-message> >> </msg-loc-info> </task-status-msg> <exception-info> >> <nesting-level>1</nesting-level> <loc-token/> <loc-message>Could not >> find service 'RechercheService' in wsdl</loc-message> >> <stack-trace><![CDATA[javax.jbi.management.DeploymentException: Could not >> find service 'RechercheService' in wsdl >> at >> org.apache.servicemix.http.endpoints.HttpSoapProviderEndpoint.validateWsdl1(HttpSoapProviderEndpoint.java:199) >> at >> org.apache.servicemix.http.endpoints.HttpSoapProviderEndpoint.validate(HttpSoapProviderEndpoint.java:166) >> at >> org.apache.servicemix.common.AbstractDeployer.validate(AbstractDeployer.java:58) >> at >> org.apache.servicemix.common.xbean.BaseXBeanDeployer.validate(BaseXBeanDeployer.java:55) >> at >> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:97) >> at >> org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88) >> at >> org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69) >> at >> org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:520) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:349) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:255) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:658) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:63) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:622) >> at java.util.TimerThread.mainLoop(Timer.java:512) >> at java.util.TimerThread.run(Timer.java:462) >> ]]></stack-trace> >> </exception-info> >> </task-result-details> >> </component-task-result-details> >> </component-task-result> >> <component-task-result >> xmlns="http://java.sun.com/xml/ns/jbi/management-message"> >> <component-name>servicemix-http</component-name> >> <component-task-result-details> >> <task-result-details> >> <task-id>deploy</task-id> >> <task-result>SUCCESS</task-result> >> </task-result-details> >> </component-task-result-details> </component-task-result> >> </jbi-task-result> </jbi-task> >> >> at >> org.apache.servicemix.jbi.framework.ManagementSupport.failure(ManagementSupport.java:125) >> at >> org.apache.servicemix.jbi.framework.ManagementSupport.failure(ManagementSupport.java:111) >> at >> org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:555) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:349) >> ... 6 more >> >> To remind my case, I'm using smx3.3, servicemix-http-2009.01.0.1, 2 >> http SU (1 provider, 1 consumer) in a SA. I'm now using the new http >> synthax (<http:soap-provider ... />) >> >> Best Regards, >> Vivian >> >> -----Message d'origine----- >> De : Madesclair Vivian [mailto:[email protected]] >> Envoyé : mardi 9 juin 2009 11:53 >> À : [email protected] >> Objet : RE: http-component, wsdl forwarding >> >> I read some posts, it seems my issue comes from the fact that i am using >> axis and the wsdl generated for my service is of standard 1.2 while >> servicemix can handle only 1.1. Am I right about this? If yes, why is >> servicemix only handling 1.1 standard? >> >> I read about a validateWsdl tag in the xBean, but I could not manage to get >> it work. Any ideas? >> >> Best Regards, >> Vivian >> >> >> >> >> >> >> >> -----Message d'origine----- >> De : Jean-Baptiste Onofré [mailto:[email protected]] Envoyé : lundi 8 >> juin 2009 11:14 À : Madesclair Vivian Cc : [email protected] >> Objet : Re: http-component, wsdl forwarding >> >> Strange, >> >> let me make a try. >> >> Regards >> JB >> >> Madesclair Vivian wrote: >>> When I use, as you suggest, <http:soap-provider.../> in place of >>> <http:endpoint.../> I got an exception in maven, but a build successful. >>> And when deploying this SA in servicemix, the deployment fails with an >>> other exception. >>> >>> To test my service, I use the client.html from the wsdl-first exemple, and >>> to get the wsdl, I use >>> "http://172.31.196.135:8192/jbi/Services/Recherche/CA1/?wsdl". The service >>> answer succesfully, but for the wsdl I get : >>> "HTTP ERROR: 404" >>> "Unable to find requested resource" >>> "RequestURI=/jbi/Services/Recherche/CA1/main.wsdl" >>> >>> Thanks, >>> >>> Best regards >>> Vivian MADESCLAIR >>> >>> >>> -----Message d'origine----- >>> De : Jean-Baptiste Onofré [mailto:[email protected]] Envoyé : lundi 8 >>> juin 2009 10:35 À : [email protected] Objet : Re: >>> http-component, wsdl forwarding >>> >>> Basicly, >>> >>> using the SOAP HTTP provider, you should be able to display the WSDL. >>> Have you tried something like this: >>> >>> <http:soap-provider service="MyService" >>> endpoint="MyEndpoint" >>> locationURI="http://yourtomcat:port/service" >>> wsdl="classpath:myservice.wsdl"/> >>> >>> The myservice.wsdl file should be in a resource directory of your pom.xml. >>> >>> Regards >>> JB >>> >>> Madesclair Vivian wrote: >>>> Hello everybody, >>>> >>>> I am new here, new on any mailing list in fact. I am studying ESB, and >>>> currently testing servicemix, and I am experiencing a difficulty with the >>>> wsdl forwarding of the http component. Let me explain issue. >>>> >>>> I am exposing a service, named "Recherche", with Apache Axis on Tomcat. >>>> This service is working and I can access its wsdl putting "?wsdl" after te >>>> URI. Then I used the http component and 2 service units (though now I know >>>> one should be enough) to expose it through the servicemix ESB. I can >>>> access my service and have it work, but I haven't manage to get its wsdl >>>> (I mean the wsdl for the service exposed by the consumer SU) yet. I tryied >>>> several way (wsdlResource in the xBean, special service for the wsdl, even >>>> putting the wsdl file in the /src/main/resources directory, which is not >>>> what I want to do because it would be static) but none succeeded. >>>> >>>> I spent many hours on this single problem, I'm starting to feel like I >>>> tryied everything, so I was hoping somebody could help me here! If my >>>> description is not precise enough, feel free to ask. I'm working on a >>>> prototype, so there is no secrecy or such things. >>>> >>>> Many thanks for your consideration! >>>> >>>> Vivian MADESCLAIR >>>> Stagiaire - Division Midi-Pyrénées - Agence 103 >>>> Sopra group. >>>> Basso Cambo >>>> 14 rue Mesplé 31000 Toulouse >>>> Phone : +33 (0)5 61 16 25 06 >>>> [email protected] - www.sopragroup.com >>>> <http://www.sopragroup.com/> Ce message peut contenir des informations >>>> confidentielles dont la divulgation est à ce titre rigoureusement >>>> interdite en l'absence d'autorisation explicite de l'émetteur. Dans >>>> l'hypothèse où vous auriez reçu par erreur ce message, merci de le >>>> renvoyer à l'émetteur et de détruire toute copie. >>>> >>>> P Pensez à l'environnement avant d'imprimer. >>>> >>>> >
