Thank you very much! I can now see the wsdl at the service adress and it seems to work.
I just have one issue now : I get no response, only "STATUS 200". I am using the client.html from the wsdl-first example to test this service and it seems to work exept for this response. I checked the MEP of http component and in the servicemix documentation, it says that it is defaulted to in-out. Any idea? My axis service is working, but I noticed I can't get a correct response when using the client.html (I get a STATUS 500 so it seems to me it is not what is causing my problem) Also I have to mention for people who might read this topic later that the wsdl can contain several namespace. The hint of Gert was perfectly clear and right for me, but you might have to use the other namespaces (for example, in my soap requests, I had to use the targetNamespace from the <schema> tag). Best regard, Vivian -----Message d'origine----- De : Gert Vanthienen [mailto:[email protected]] Envoyé : mardi 23 juin 2009 13:34 À : [email protected] Objet : Re: http-component, wsdl forwarding 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.validat >> eWsdl1(HttpSoapProviderEndpoint.java:199) >> at >> org.apache.servicemix.http.endpoints.HttpSoapProviderEndpoint.validat >> e(HttpSoapProviderEndpoint.java:166) >> at >> org.apache.servicemix.common.AbstractDeployer.validate(AbstractDeploy >> er.java:58) >> at >> org.apache.servicemix.common.xbean.BaseXBeanDeployer.validate(BaseXBe >> anDeployer.java:55) >> at >> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(Abstr >> actXBeanDeployer.java:97) >> at >> org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServ >> iceUnitManager.java:88) >> at >> org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServic >> eUnitManager.java:69) >> at >> org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAs >> sembly(DeploymentService.java:520) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServi >> ceAssembly(AutoDeploymentService.java:349) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchi >> ve(AutoDeploymentService.java:255) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDire >> ctory(AutoDeploymentService.java:658) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800( >> AutoDeploymentService.java:63) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoD >> eploymentService.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(Managem >> entSupport.java:125) >> at >> org.apache.servicemix.jbi.framework.ManagementSupport.failure(Managem >> entSupport.java:111) >> at >> org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAs >> sembly(DeploymentService.java:555) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServi >> ceAssembly(AutoDeploymentService.java:349) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchi >> ve(AutoDeploymentService.java:255) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDire >> ctory(AutoDeploymentService.java:658) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800( >> AutoDeploymentService.java:63) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoD >> eploymentService.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.updateServi >> ceAssembly(AutoDeploymentService.java:364) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchi >> ve(AutoDeploymentService.java:255) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDire >> ctory(AutoDeploymentService.java:658) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800( >> AutoDeploymentService.java:63) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoD >> eploymentService.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.validat >> eWsdl1(HttpSoapProviderEndpoint.java:199) >> at >> org.apache.servicemix.http.endpoints.HttpSoapProviderEndpoint.validat >> e(HttpSoapProviderEndpoint.java:166) >> at >> org.apache.servicemix.common.AbstractDeployer.validate(AbstractDeploy >> er.java:58) >> at >> org.apache.servicemix.common.xbean.BaseXBeanDeployer.validate(BaseXBe >> anDeployer.java:55) >> at >> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(Abstr >> actXBeanDeployer.java:97) >> at >> org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServ >> iceUnitManager.java:88) >> at >> org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServic >> eUnitManager.java:69) >> at >> org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAs >> sembly(DeploymentService.java:520) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServi >> ceAssembly(AutoDeploymentService.java:349) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchi >> ve(AutoDeploymentService.java:255) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDire >> ctory(AutoDeploymentService.java:658) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800( >> AutoDeploymentService.java:63) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoD >> eploymentService.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(Managem >> entSupport.java:125) >> at >> org.apache.servicemix.jbi.framework.ManagementSupport.failure(Managem >> entSupport.java:111) >> at >> org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAs >> sembly(DeploymentService.java:555) >> at >> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServi >> ceAssembly(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. >>>> >>>> >
