Topic
12 replies Latest Post - ‏2012-11-27T11:33:04Z by SystemAdmin
SystemAdmin
SystemAdmin
4179 Posts
ACCEPTED ANSWER

Pinned topic Websphere message broker unable to expose as WSDL, xsd download fail

‏2012-07-06T09:06:18Z |

Hello, Is there anyone that can help me with the following:


I have to create a aplication in websphere message broker v8 that is exposed as a web service, in other words a client application will use
the WSDL file to call my web service that is created in websphere message broker v8.


So, here is the problem. I get it exposed as a web service using the SOAPInput node and to "enable ?wsdl support". When i try to use the WSDL created,
There are problems getting the Schemas "XSD" files. I have no idea where this is saved in the WMB. Something about /RemoteFiles


please help me to find a way to use a WSDL created by WMB in a calling application like SOAPUI.


regards,
Darrelk
Updated on 2012-11-27T11:33:04Z at 2012-11-27T11:33:04Z by SystemAdmin
  • WISAdeveloperWorks
    WISAdeveloperWorks
    6 Posts
    ACCEPTED ANSWER

    Re: Websphere message broker unable to expose as WSDL, xsd download fail

    ‏2012-07-08T18:07:29Z  in response to SystemAdmin
    Hi Darrelk,

    I think the answer will depend on how you created your WSDL in WMB. Could you explain how you created it? This will help to provide some feedback.

    Best regards... Joel
    • SystemAdmin
      SystemAdmin
      4179 Posts
      ACCEPTED ANSWER

      Re: Websphere message broker unable to expose as WSDL, xsd download fail

      ‏2012-07-09T07:05:29Z  in response to WISAdeveloperWorks
      Hello Joel,

      I have tried it in two ways. The first is calling another web service from my WMB message flow, and using the same WSDL from that web service for my SOAPinput node. And the other way was just by creating a Schema file in netbeans and then creating a WSDL file from that schema file and using thet in my message flow. Ether of the two does not want to "Download" the schema file when i try to use my WMB exposed wsdl in SOAPUI.

      Does any one maybe have a simple example where i can just do a pass-trough message where i expose the SOAPinput node as a wsdl and using that WSDL in SOAPUI do send that message.

      Thanks in advanced.
      • SystemAdmin
        SystemAdmin
        4179 Posts
        ACCEPTED ANSWER

        Re: Websphere message broker unable to expose as WSDL, xsd download fail

        ‏2012-07-09T13:29:46Z  in response to SystemAdmin
        I found an answer. Please Look at attached file that i have created to assets in exposing a web service in Websphere message broker v8.
  • SystemAdmin
    SystemAdmin
    4179 Posts
    ACCEPTED ANSWER

    Re: Websphere message broker unable to expose as WSDL, xsd download fail

    ‏2012-07-09T13:33:03Z  in response to SystemAdmin
    please find attached answer
    • WISAdeveloperWorks
      WISAdeveloperWorks
      6 Posts
      ACCEPTED ANSWER

      Re: Websphere message broker unable to expose as WSDL, xsd download fail

      ‏2012-07-09T22:15:17Z  in response to SystemAdmin
      Hi Darrelk,

      I couldn't find the file you mentioned, it seems it was not attached in your post, but anyway, I'm glad to hear your problem was solved.

      Regards... Joel
  • Gully6541
    Gully6541
    5 Posts
    ACCEPTED ANSWER

    Re: Websphere message broker unable to expose as WSDL, xsd download fail

    ‏2012-07-12T18:03:37Z  in response to SystemAdmin
    Hi Darrelk, it sounds like you were able to resolve this error. I'm having same issue, can you please let us know what you did to fix. Thanks!
    • SystemAdmin
      SystemAdmin
      4179 Posts
      ACCEPTED ANSWER

      Re: Websphere message broker unable to expose as WSDL, xsd download fail

      ‏2012-07-13T07:20:55Z  in response to Gully6541
      How to create a message flow that is exposed as a web service “WSDL” and downloading the correct Schema files.

      1) Create a “Message Set Project”:
      a. File->new->project->Message Set

      b. New message set window will open:

      c. Type in a name and press Next.
      d. On the next screen make sure that “Web Service SOAP” check box is selected.

      e. Click finish
      f. Right click on your newly created Message Set
      g. Select : New->Message Definition From File->WSDL File




      h. Select the “Select from outside workspace or remote file” radio button.

      i. Select browse if it is a local file, or paste the WSDL file URL in the location text box. Follow all the steps and select finish. All the warnings will be resolved on its own.

      j. Repeat f. to i. if you would like to add more WSDL files.

      2) After all the necessary files has be added to the message set. You are going to create a new message broker project.
      a. Go to: File->New->Message broker Project

      b. Select the message set created above in “…the existing project to reference section”
      c. Click finish.
      3) Now we are going to create a new message flow that will expose a WSDL so that a client app can call your message flow.
      a. Right click on the created message broker project.
      b. Go to new->Message Flow. Give it a name and select finish.
      c. Drag a SOAP Input and a SOAP Reply node to the opened message flow.
      d. Wire them together

      e. Select the SOAP Input Node, Under properties go to Basic

      f. Select Brows and select the WSDL file that you imported previously. Select the one that you want to use as input.

      g. In the properties go to HTTP Transport

      h. Select The following the check box for “Enable Support for ?WSDL”

      i. Right click on the Soap Input node and select Test. This will Deploy the Project.

      j. In internet explorer. Use the “Path suffix for URL” that is used above for the WSDL file that you will expose as follows. localhost:7800/newWebService?wsdl

      I set up a document Tutorial. But cant seem to attach it. Is there a way i can email it to you? It is the above, but has screen shots with. If the above is not understanding enough, please ASK if there is anything else.

      regards,
      Darrelk
  • Gully6541
    Gully6541
    5 Posts
    ACCEPTED ANSWER

    Re: Websphere message broker unable to expose as WSDL, xsd download fail

    ‏2012-07-13T19:26:36Z  in response to SystemAdmin
    Thanks Darrelk. Found out a little more on this directly from IBM. This is a known issue with V8, APAR - IC82655, and will be resolved with a 3rd quarter 2012 fix pack. This is another work around that was suggested by IBM:
    •If a WebSphere Message Broker flow using SOAP nodes is created,
    then some referencing problems can exist within the deployed
    flow.

    While the deployed WSDL can be viewed in a browser, the
    external tools, such as SOAPUI, will be unable to view the
    WSDL, and will report an error stating that the supporting XSD
    cannot be found.

    In fact, the XSD has been deployed. However the XSD is stored
    internally in WMB in a separate folder. This causes the
    relative path in the WSDL to be invalid.

    Local fix
    •You can prevent this issue by deploying your SOAP flows that
    contain a WSDL file as an 'independent resource'. You will need
    to create the flow (and WSDL) as 'independent resources' in the
    WMB Toolkit, and build the BAR from these projects.
    • SystemAdmin
      SystemAdmin
      4179 Posts
      ACCEPTED ANSWER

      Re: Websphere message broker unable to expose as WSDL, xsd download fail

      ‏2012-07-16T06:30:27Z  in response to Gully6541
      Hell0 Gully6541 ,

      Thanks for the advice and the info on the new Fix pack. Will look out for it as soon as it is available.

      Thanks again,
      Enjoy your day,
      Regards
      Darrel Kleynhans
  • QJVF_Anuradha_Ghosh
    QJVF_Anuradha_Ghosh
    2 Posts
    ACCEPTED ANSWER

    Re: Websphere message broker unable to expose as WSDL, xsd download fail

    ‏2012-09-24T07:44:15Z  in response to SystemAdmin
    I am trying to expose my message broker flow as webservice. I have few doubts here. I do not have a wsdl right now. I just have a list of mandatory fields which could be used as request parameters. My question is should i create a xsd first and then create a wsdl? what is the right approach? is it possible to craete a wsdl from xsd? Can i ask the client application to provide me the wsdl? I have never created a wsdl before. Kindly help with your inputs.
    • WISAdeveloperWorks
      WISAdeveloperWorks
      6 Posts
      ACCEPTED ANSWER

      Re: Websphere message broker unable to expose as WSDL, xsd download fail

      ‏2012-09-24T12:01:10Z  in response to QJVF_Anuradha_Ghosh
      Hi,

      What version of WMB are you using? If your client application already has a WSDL you can definetily use it to create your data model, but you can also create a WSDL from a data model you have created on the Toolkit, just keep in mind that if you are using Toolkit v8, you need to use Message Sets to create your data models in order to be able to create the WSDL using the corresponding wizard.

      Hope this helps.
  • SystemAdmin
    SystemAdmin
    4179 Posts
    ACCEPTED ANSWER

    Re: Websphere message broker unable to expose as WSDL, xsd download fail

    ‏2012-11-27T11:33:04Z  in response to SystemAdmin
    Hello guys,

    I'm having troubles with the same issue, my xsd files are defined in a Library project and when I expose the wsdl as Service project, they are not loaded properly. If I place the xsd files in service project - everything works, but this is inconvenient as I'm planing to use the same xsd-s in other projects...

    There is a defect for the same issue:
    http://www-01.ibm.com/support/docview.wss?uid=swg1IC82655

    And according to its status it should be fixed in the last Fix Pack - http://www-01.ibm.com/support/docview.wss?uid=swg24033147

    But after installing the fix pack the problem is still here.

    I attached a sample project where this issue can be seen. Has anyone found a workaround, other than putting the xsd files in the service project :-)

    Thanks