8 Replies Latest reply on Aug 17, 2011 11:53 AM by davidmpaz

    Cannot obtain wsdl service

    davidmpaz

      Hi all.

       

      Can any one help me to address this issue, for some reason I can not know why my bpel process can not call some web services I have deployed in the same jboss server. I have a running a jboss-5.1 AS with JBossESB-4.8 and Riftsaw-2.2.0.CR1 in this virtual machine:

       

      java version "1.6.0_22"

      Java(TM) SE Runtime Environment (build 1.6.0_22-b04)

      Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03, mixed mode)

       

      On ubuntu 10.10, one thing to notice is that I was able to run it before, but after a profile lost for some other reason I have not being able to restore things back, the before scenario was the same as now. Also if I invoke the webservices deployed in jboss (the ones that are external partners fo bpel) they execute well. This is the exception I get after invoking the bpel:

       

       

      11:44:30,005 INFO  [STDOUT] Retrieving document at 'file:/home/davidmpaz/jbin/jboss-5.1.0.GA/server/default/deploy/ratificar_usuarios_BPEL-20110813113921.jar/ratificarArtifacts.wsdl'.

      11:44:30,032 INFO  [STDOUT] Retrieving document at 'uclvNetServices.wsdl', relative to 'file:/home/davidmpaz/jbin/jboss-5.1.0.GA/server/default/deploy/ratificar_usuarios_BPEL-20110813113921.jar/ratificarArtifacts.wsdl'.

      11:44:30,385 INFO  [WatchDog] [Endpoint files for {DeploymentUnit ratificar_usuarios_BPEL-20110813113921}] updated

      11:44:30,983 WARN  [EndpointReferenceContextImpl] Map access not implemented

      11:44:31,082 INFO  [UDDIRegistrationImpl] No Service by the name CompararUsuarios was found in the registry.

      11:44:31,084 INFO  [UDDIRegistrationImpl] No WSDL could be obtained using the UDDI Registry Lookup.

      11:44:31,085 INFO  [STDOUT] Retrieving document at 'file:/home/davidmpaz/jbin/jboss-5.1.0.GA/server/default/deploy/ratificar_usuarios_BPEL-20110813113921.jar/ratificarArtifacts.wsdl'.

      11:44:31,089 INFO  [STDOUT] Retrieving document at 'uclvNetServices.wsdl', relative to 'file:/home/davidmpaz/jbin/jboss-5.1.0.GA/server/default/deploy/ratificar_usuarios_BPEL-20110813113921.jar/ratificarArtifacts.wsdl'.

      11:44:31,637 WARN  [WSDL11Reader] UsingAddressing extensibility element not supported yet.

      11:44:31,644 WARN  [WSDL11Reader] UsingAddressing extensibility element not supported yet.

      11:44:31,644 WARN  [WSDL11Reader] UsingAddressing extensibility element not supported yet.

      11:44:31,644 ERROR [WebServiceClient] WS invocation failed

      java.lang.IllegalArgumentException: Cannot obtain wsdl service: {http://net.uclv.edu.cu/ratificacion/}CompararUsuarios we have [{http://net.uclv.edu.cu/ratificacion/}RatificarUsuarios]

          at org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder.buildMetaDataInternal(JAXWSClientMetaDataBuilder.java:144)

          at org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder.buildMetaData(JAXWSClientMetaDataBuilder.java:86)

          at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.<init>(ServiceDelegateImpl.java:138)

          at org.jboss.ws.core.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:63)

          at javax.xml.ws.Service.<init>(Service.java:79)

          at javax.xml.ws.Service.create(Service.java:96)

          at org.jboss.soa.bpel.runtime.ws.WebServiceClient.getDispatcher(WebServiceClient.java:408)

          at org.jboss.soa.bpel.runtime.ws.WebServiceClient.access$500(WebServiceClient.java:65)

          at org.jboss.soa.bpel.runtime.ws.WebServiceClient$TwoWayCallable$1.call(WebServiceClient.java:243)

          at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:289)

          at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:246)

          at org.jboss.soa.bpel.runtime.ws.WebServiceClient$TwoWayCallable.call(WebServiceClient.java:224)

          at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

          at java.util.concurrent.FutureTask.run(FutureTask.java:138)

          at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

          at java.lang.Thread.run(Thread.java:662)

      11:44:31,724 ERROR [INVOKE] Failure during invoke: Cannot obtain wsdl service: {http://net.uclv.edu.cu/ratificacion/}CompararUsuarios we have [{http://net.uclv.edu.cu/ratificacion/}RatificarUsuarios]

      11:44:31,733 INFO  [BpelRuntimeContextImpl] ActivityRecovery: Registering activity 11, failure reason: Cannot obtain wsdl service: {http://net.uclv.edu.cu/ratificacion/}CompararUsuarios we have [{http://net.uclv.edu.cu/ratificacion/}RatificarUsuarios] on channel 21

       

      I have notice these lines, but I just simply dont know where to look for it or make that registration.

       

      11:44:31,082 INFO  [UDDIRegistrationImpl] No Service by the name CompararUsuarios was found in the registry.

      11:44:31,084 INFO  [UDDIRegistrationImpl] No WSDL could be obtained using the UDDI Registry Lookup.

       

      I have also attached  the entire jboss log output from the console. If needed I can post also the bpel project.

       

      Thanks for listen and for the support

       

      David

        • 1. Re: Cannot obtain wsdl service
          davidmpaz

          Hi, sorry for reposting.

           

          Since I was getting some error with the registry I upgraded my enviroment this weekend, now I have JBossESB-4.10 with Riftsaw-2.3.0.Final. All the registry errors are gone, I have a clean jboss startup (no registry errors) but when I invoke the bpel process I still get the same exception:

           

           

          10:45:57,303 ERROR [WebServiceClient] WS invocation failed

          java.lang.IllegalArgumentException: Cannot obtain wsdl service: {http://net.uclv.edu.cu/ratificacion/}CompararUsuarios we have [{http://net.uclv.edu.cu/ratificacion/}RatificarUsuarios]

              at org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder.buildMetaDataInternal(JAXWSClientMetaDataBuilder.java:144)

              at org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder.buildMetaData(JAXWSClientMetaDataBuilder.java:86)

              at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.<init>(ServiceDelegateImpl.java:138)

              at org.jboss.ws.core.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:63)

              at javax.xml.ws.Service.<init>(Service.java:79)

              at javax.xml.ws.Service.create(Service.java:96)

              at org.jboss.soa.bpel.runtime.ws.WebServiceClient.getDispatcher(WebServiceClient.java:464)

              at org.jboss.soa.bpel.runtime.ws.WebServiceClient.access$600(WebServiceClient.java:73)

              at org.jboss.soa.bpel.runtime.ws.WebServiceClient$TwoWayCallable$1.call(WebServiceClient.java:257)

              at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:294)

              at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:251)

              at org.jboss.soa.bpel.runtime.ws.WebServiceClient$TwoWayCallable.call(WebServiceClient.java:213)

              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

              at java.util.concurrent.FutureTask.run(FutureTask.java:138)

              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

              at java.lang.Thread.run(Thread.java:662)

          10:45:57,392 ERROR [INVOKE] Failure during invoke: Cannot obtain wsdl service: {http://net.uclv.edu.cu/ratificacion/}CompararUsuarios we have [{http://net.uclv.edu.cu/ratificacion/}RatificarUsuarios]

          10:45:57,399 INFO  [BpelRuntimeContextImpl] ActivityRecovery: Registering activity 11, failure reason: Cannot obtain wsdl service: {http://net.uclv.edu.cu/ratificacion/}CompararUsuarios we have [{http://net.uclv.edu.cu/ratificacion/}RatificarUsuarios] on channel 21

           

          After this, the server throw a time out exception due to the invocation one mainly, so the one to take into account is this. Again I have attached the jboss log and my bpelContent folder from bpel project.

           

          Any help will be really appreciated, I'm running out of options

           

          Thanks for listen David

          • 2. Re: Cannot obtain wsdl service
            mbaluch

            Hi David,

             

            I think I've seen this error before - Can you attach also your web-service please? Thanks

             

            Best regards

            Marek

            • 3. Re: Cannot obtain wsdl service
              davidmpaz

              Hi, Marek. thanks for the answer.

               

              In the bpelContent folder are the wsdl for both externals web services, I'm attaching the module project which implement it anyway, this is deployed inside an .ear in the jboss. Is this what you need? Ask if you need something else.

               

              in the current scenario the calls are like this:

               

              1. External application (right now I'm testing it with soapui) invoke the bpel process.
              2. From the bpel 2 external (partner links?) webservices are called, that in the recently uploaded module (deployed in the same jboss AS) and other in an IIS. Notice please I have tested both webservices with soapui and they work as they should.

               

              Thanks again for your time.

               

              greetings, david

              • 4. Re: Cannot obtain wsdl service
                mbaluch

                Hi David,

                 

                can you check one thing please? Is the endpoint address in bpelContent/uclvNetServices.wsdl really correct? Deploying a WAR from inside an EAR changes by default the address where the generated WSDL is published. Basicly when you deploy a file xxx.ear which contains uclvNetServices.war then the generated WSDL will be available at http://localhost:8080/xxx-uclvNetServices/comparar-usuarios.

                 

                Regards

                Marek.

                • 5. Re: Cannot obtain wsdl service
                  davidmpaz

                  Hi, marek.

                   

                  Checked!, the url is correct, this is what http://localhost:8080/jbossws/services says:

                   

                  Endpoint Namejboss.ws:context=uclvNetServices,endpoint=CompararUsuarios
                  Endpoint Addresshttp://localhost:8080/uclvNetServices/comparar-usuarios?wsdl

                   

                  This is the application.xml descriptor in the ear:

                   

                   

                  <?xml version="1.0" encoding="UTF-8"?>

                  <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" id="Application_ID" version="5">

                    <display-name>

                  ratificacionUCLV</display-name>

                    <module>

                      <web>

                        <web-uri>uclvNetServices.war</web-uri>

                        <context-root>uclvNetServices</context-root>

                      </web>

                    </module>

                    <module>

                      <ejb>uclvNetTools.jar</ejb>

                    </module>

                  </application>

                   

                  And browsing the wsdl url give me the correct document.

                   

                  It is any other place where I could look at?

                   

                  Thanks you very much for listen, I appreciate your help

                   

                  Regards, David

                  • 6. Re: Cannot obtain wsdl service
                    mbaluch

                    Hi David,

                     

                    I must confess I thought I would be able to reproduce your exception but I'm running out of options. I'm sorry for that.

                     

                    Would it be possible for you to create a simple reproducer which we could use to reproduce the exception? Thank you very much.

                     

                    Marek

                    • 7. Re: Cannot obtain wsdl service
                      davidmpaz

                      Hi marek, yes I will try to do it and I will post my result here.

                       

                      Thanks for helping

                       

                      Regards, David

                      • 8. Re: Cannot obtain wsdl service
                        davidmpaz

                        Hi marek. Problem solved!!

                         

                        After a litle chat with a colleague about namespaces and xml I decided to change some namespaces the ones that were related to the services in questions. The problem was that I was declaring the two services used under the same namespace, after assigning each one its own namepace and doing the proper changes in the bpel to reflects those modification in variables and invocations everything work fine, now I'm getting another error which is caused by a faulty response (should not be a big problem though), anyway I just can not imagine how it was working before, I guess that some cached resource or anything was doing the job for me

                         

                        Thank you very much for your time

                         

                        Best wishes, David