8 Replies Latest reply on Jul 16, 2010 7:01 AM by christy

    Jax-ws bpel process client problem

    christy

      Hi!

      I'm trying to invoke my bpel process wich returns the complex type as output. I  use stubs that were generated with wsconsume.bat. Everything works but the result object  is not null, but all the fields of result complex objects are null. If I try to invoke this process using any "straight" soap client (for example using Oxygen or sendsoap.bat) or dispatch clients everything works and I can see the full result. Is it possible to invoke bpel process using generated stabs?

       

      The client code is below:

       

              InvokeOrgsProcessService service = new InvokeOrgsProcessService();
              InvokeOrgsProcess process = service.getInvokeOrgsProcessServicePort();
              InvokeOrgsProcessRequest request = new InvokeOrgsProcessRequest();
              request.setInput("1");
              GetOrgDetailsResponse response = process.process(request);
              OrgsDetails orgsDetails = response.getReturn();
              System.out.println("orgsDetails.getCountryId() = " + orgsDetails.getCountryId());

      The log is:

      orgsDetails.getCountryId() = null

      The attached is the bpel process artifacts.

      Thanks in advanced,

      Kristina

        • 1. Re: Jax-ws bpel process client problem
          objectiser

          Hi Kristina

           

          Which web service stack are you using?

           

          This may be a jbossws issue, so you might want to also post on the jbossws forums - possibly including an example of the request and response you receive.

           

          Regards

          Gary

          • 2. Re: Jax-ws bpel process client problem
            christy

            Hi Gary,

            I'm using jbossws-native-3.1.2.GA.

            I think that this is bpel problem because another web-services (not bpel, just simple web-services) works fine.

            And the important note. As you remember our recent conversation about imports in wsdl. So before removing imports I could use as the result message the message from imported wsdl (straitly). Now after removing imports I can't do it and I have to create necessary messages and compex types manualy (I copy them from the invoking wsdl). May be I dop simething wrong? Could you please look through the attach and try to invoke it please?

            Best regards,

            Kristina

            • 3. Re: Jax-ws bpel process client problem
              objectiser

              Hi

               

              Ok we can take a look - however we are in the last stages of doing the release for 2.1.0.Final, so might have to wait until next week.

               

              One thing you could try is that RiftSaw has a pre-requisite of using jbossws-native-3.2.2.GA. Could you try upgrading the web service stack, and see whether this fixes the problem.

               

              You can upgrade the webservice stack during the riftsaw installation, by using the -Dws.version=3.2.2.GA option, e.g.:

               

              ant deploy -Ddatabase=hsql -Dws.version=3.2.2.GA.

               

              Once this is done, it may also be best to re-generate the client classes.

               

              Regards

              Gary

              • 4. Re: Jax-ws bpel process client problem
                objectiser

                Hi Kristina

                 

                Had a quick look at your example, and noticed that the response message does not appear to be correct:

                 

                <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
                   <env:Header/>
                   <env:Body>
                      <getOrgDetailsResponse xmlns="http://processes/invokes/orgs">
                         <tns:return xmlns:tns="http://processes/invokes/orgs">
                            <addressId xmlns="">2</addressId>
                            <countries xmlns="">Отечественная страна</countries>
                            <country xmlns="">Россия</country>
                            <countryId xmlns="">149</countryId>
                            <dept xmlns="">Росрыболовство</dept>
                            <deptId xmlns="">114</deptId>
                            <org1 xmlns="">Росрыболовство</org1>
                            <org2 xmlns="">АтлантНИРО</org2>
                            <org3 xmlns=""></org3>
                            <orgBirthday xmlns="">1949-01-01</orgBirthday>
                            <orgDeathdate xmlns=""/>
                            <orgId xmlns="">2</orgId>
                            <orgId1 xmlns="">114</orgId1>
                            <orgId2 xmlns="">2</orgId2>
                            <orgId3 xmlns="">2</orgId3>
                            <orgNameEng xmlns="">Atlantic Research Institute of Marine Fisheries and Oceanography Rosrybolovstvo</orgNameEng>
                            <orgNameRus xmlns="">Атлантический научно-исследовательский институт рыбного хозяйства и океанографии</orgNameRus>
                            <orgOccupation xmlns="">Гидробиологические, ихтиологические и океанографические наблюдения и исследования в Атлантическом
                океане. Обеспечение пользователей рыбопромысловыми прогнозами по районам промысла в Атлантическом
                океане, Южной части Балтийского моря, Куршском и Вислинском заливах Балтийского моря.</orgOccupation>
                            <orgShortNameEng xmlns="">AtlRIFO</orgShortNameEng>
                            <orgShortNameRus xmlns="">АтлантНИРО</orgShortNameRus>
                            <orgs xmlns="">2</orgs>
                            <orgtype xmlns="">НИИ,конструкторские бюро,научно-производ</orgtype>
                            <orgtypeId xmlns="">3</orgtypeId>
                         </tns:return>
                      </getOrgDetailsResponse>
                   </env:Body>
                </env:Envelope>

                 

                The problem is that the default namespace on the lowest level elements are all blank. Looks like this is occurring during the ODE assignment.

                 

                Can you raise a bug in jira for this, attaching your example.

                 

                As a workaround, the only thing I can suggest is to simply pass the message through from the external service back to the client - although this requires the message types to be the same (which I guess is not currently possible due to the wsdl import issue?).

                 

                You might want to try moving the common message type into a separate wsdl, and import it from both of the other wsdls - but not the BPEL process.

                 

                Regards

                Gary

                • 5. Re: Jax-ws bpel process client problem
                  christy

                  Hi Gary,

                  I installed jbossws-native-3.2.2.GA and re-generate the client classes but the result is the same. I will be very grateful if you could take a look on it please.

                  Best regards,

                  Kristina

                  • 6. Re: Jax-ws bpel process client problem
                    christy

                    Hi Gary,

                    Thank you very much again!!:)

                    I tried the second approach that you proposed and now it works!:) What I did: I created the wsdl document and copied in it only necessary message, elements and types from external wsdl. Than I imported it into the process wsdl document and removed the import of the external wsdl. That works.

                    So, should I create the jirra?

                    Best regards,

                    Kristina

                    • 7. Re: Jax-ws bpel process client problem
                      objectiser

                      Hi

                       

                      Thats good news.

                       

                      Yes, if you could create a jira still, attaching your original project - as there appears to be some issue with the ODE assignment implementation removing the namespace of the lowest level elements.

                       

                      Regards

                      Gary

                      • 8. Re: Jax-ws bpel process client problem
                        christy

                        the jira issue 

                         

                        Best regards,

                        Kristina