9 Replies Latest reply on Apr 19, 2013 8:10 AM by Raghu Nagireddy

    Passing WSDL URL at runtime

    Srini Dhulipalla Level 5

      Hi All,

           I am looking for some help on how to pass the WSDL URL for the "WebService" Service at runtime..

           Currently I defined a WebServiceSettingBean variable and trying to set the values at runtime. But I am getting the below error.

       

       

           2010-11-15 19:57:01,156 ERROR [com.adobe.idp.workflow.dsc.invoker.WorkflowDSCInvoker] An exception was thrown with name com.adobe.idp.dsc.RequiredParameterException message:Parameter: webServiceOptions is required. while invoking service WebService and operation invoke and no fault routes were found to be configured.

       

           Below image shows the variables of the WebServiceSettingBean variable currently I am setting..

       

           Can any one throw some direction on how to use this?

       

           The whole idea is to pass the WSDL URL from a configuration file when we migrate the LCA to different deployment environments.

       

       

           Thanks

           Srini

         

       

      WebServiceSettingBean.JPG

        • 1. Re: Passing WSDL URL at runtime
          Jasmin Charbonneau Level 4

          I know this is a stupid question...but did you assign your variable as the input variable of the Web Service step.

           

          The error says the input variable is not defined. When I do it, I don't get this error.

           

          Jasmin

          1 person found this helpful
          • 2. Re: Passing WSDL URL at runtime
            Srini Dhulipalla Level 5

            Jasmin,

                  Thank you for reminding my mistake. I assigned the variable but at some point of my debugging I removed the variable assignment and started using the literal value. But now I re-assigned the variable.

             

                  Still I am getting the below error.

             

                   2010-11-16 11:31:43,437 ERROR [com.adobe.idp.workflow.dsc.invoker.WorkflowDSCInvoker] An exception was thrown with name com.adobe.idp.dsc.webservice.exception.WebServiceConfigurationException message:Configuration error - port specified is unavaliable: null while invoking service WebService and operation invoke and no fault routes were found to be configured.

             

                   Below are the screen shots that I have tried setting the values for WeServiceSettingBean variable and the working settings of the Webservice at design time.

             

                   Can this help you understand what mistakes I may be doing to make it work?

             

            Thanks

            Srini

             

             

            WebServiceSettingBean.JPG

            Working WebService Settings.JPG

            • 3. Re: Passing WSDL URL at runtime
              Jasmin Charbonneau Level 4

              When I did the test this morning I ended up with that same port issue.

               

              I tried it with three different WSDL. I'm not sure why that happens.

               

              We might have to get support involved.

               

              I'll do a bit research, but I'm not sure if I'll find a solution.

               

              Jasmin

              • 4. Re: Passing WSDL URL at runtime
                Srini Dhulipalla Level 5

                Thank you Jasmin.. I will wait for your response after you get the update from Support team.

                 

                Thanks

                Srini

                • 5. Re: Passing WSDL URL at runtime
                  Jasmin Charbonneau Level 4

                  I'm not checking with support. I'm going to ask around.

                   

                  Wait a day or two and if I have not responded back, then log a bug with support.

                   

                  Jasmin

                  • 6. Re: Passing WSDL URL at runtime
                    Jasmin Charbonneau Level 4

                    My colleague in Support found a workaround.

                     

                    Make sure to pass the soap request as a string parameter and all of it on the same line (no crlf).

                     

                    I know this is not very elegant, but it'll get you going.

                     

                    Jasmin

                    • 7. Re: Passing WSDL URL at runtime
                      Sandro Looser

                      Hello Jasmin

                       

                      We get the same port error using the WebServiceSettingBean.

                      When we test the same web service with literal config, it is working fine.

                       

                      Is it a known bug and will it be fixed in upcoming releases?

                       

                      The suggested "workaround" to put the soap request in one single line di dnot solve the issue.

                       

                      regards

                      /sandro

                      • 8. Re: Passing WSDL URL at runtime
                        Ashok Deivasigamani Level 1

                        Sandro,

                        Did you find a solution for this issue.

                        I am running into the same kind of issue, While trying to invoke the service with a litral input in the web service foundation component its working,

                        but if I use a webServiceSettingBean, it give the following error message

                         

                         

                        Caused by: Configuration error - port specified is unavaliable: WSCheckDutyBookingV2Soap

                        at com.adobe.idp.dsc.webservice.WebServiceSoapUIInvoker.getOperation(WebServiceSoapUIInvoker .java:561)

                        at com.adobe.idp.dsc.webservice.WebServiceSoapUIInvoker.invoke(WebServiceSoapUIInvoker.java: 126)

                        at com.adobe.idp.dsc.webservice.WebServiceImpl.invoke(WebServiceImpl.java:98)

                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                        at java.lang.reflect.Method.invoke(Method.java:597)

                        at com.adobe.idp.dsc.component.impl.DefaultPOJOInvokerImpl.invoke(DefaultPOJOInvokerImpl.jav a:118)

                        ... 85 more

                         

                        Check Booking input params.jpg

                         

                        Please let me know if you have found any solution to this issue

                        • 9. Re: Passing WSDL URL at runtime
                          Raghu Nagireddy Level 3

                          We are using WebserviceSettingBean in other way, if you already tried or it wont suits ur requirement may ignore this method. This way still it can be used as runtime wsdl and port across environments without updating process each time.

                          Double Click on  WebserviceSettingBean variable and on the opened pop-up click the browse button under Datatype Specific Settings this will gives another pop-up to configure wsdl.

                          First time configuration need to give full path od the WSDL URL and it uses that time only. The same service can be ported across the environments.(Check the logs, it always derived from the runtime URL only, not the URL used on first time. Here, configure Target URL using XPath, this will be the runtime or environment specific. I guess across the environments any webservice may not have different port and operations.

                           

                          -Raghu.