Author |
Message
|
schroederms |
Posted: Mon Feb 27, 2006 2:18 pm Post subject: WSDL question |
|
|
 Disciple
Joined: 21 Jul 2003 Posts: 169 Location: IA
|
I'm new to the web service thing and am wanting to expose some legacy services in our SOA enviroment. What I've been able to find so far for WSDL generation speaks of Message Sets. We do not use messages sets since we have a standard XML (not SOAP) message that passes into our EAI backbone and out to the service.
Our XML has a standard routing section and there is an app section that is unique to each service that is being called.
Is there some documentation on how to create WSDL on XML, or what am I missing?
Thanks,
Mike |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Feb 27, 2006 5:12 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Assumption = broker & toolkit V 6
In order to create a WSDL you need to go to a category. To get there you need a message set. Have your application folks give you the xsds for the message. You can then verify the format of the message and create your message set. You can also create your message category and use it to generate the WSDL.
Enjoy and read up on the doc  _________________ MQ & Broker admin |
|
Back to top |
|
 |
vennela |
Posted: Mon Feb 27, 2006 5:13 pm Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
There is a webserivce host example in the sample gallery that will help you build your flow.
Also:
You can build a message set and then create WSDL out of it.
You can build a Message Set from an XML Schema and then build WSDL out of it.
You can build a message set from a WSDL directly. |
|
Back to top |
|
 |
SixBlade |
Posted: Tue Feb 28, 2006 9:05 am Post subject: |
|
|
Apprentice
Joined: 03 Dec 2003 Posts: 26 Location: UK
|
So, you don't want to use SOAP or message sets, but would like WSDL?
I mean you want to avoid these tools, but would like to use the WSDL definition type to describe the services to your clients?
WSDL is typically tied to SOAP, and assumes at least very similar terminology and objects, specifically in most tools. You can get WSDL out of XML schema from message broker as mentioned, but it will be with SOAP definitions so to speak. You might need to check what differences there are between the information you have and what is being put in a WSDL.
Example WSDL http://www.w3.org/TR/wsdl.html#_wsdl .
There are some more terms there than you might have, there are service names and types (xml schema defs basically), but them some more stuff. |
|
Back to top |
|
 |
kimbert |
Posted: Wed Mar 01, 2006 7:49 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
am wanting to expose some legacy services in our SOA enviroment |
Are you using the MRM CWF format for the legacy side of things? If so, you might want to reconsider using the MRM XML parser as well. |
|
Back to top |
|
 |
schroederms |
Posted: Wed Mar 01, 2006 8:17 am Post subject: |
|
|
 Disciple
Joined: 21 Jul 2003 Posts: 169 Location: IA
|
No I'm not using MRM. We use a XML based message here for our EAI services. It's not SOAP, that is where I need the help in trying to create the WSDL. The documentation looks like it's driven from MRM / Message Sets. |
|
Back to top |
|
 |
vennela |
Posted: Wed Mar 01, 2006 8:34 am Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
Quote: |
The documentation looks like it's driven from MRM / Message Sets. |
So what's wrong with that approach |
|
Back to top |
|
 |
schroederms |
Posted: Fri Mar 03, 2006 1:02 pm Post subject: |
|
|
 Disciple
Joined: 21 Jul 2003 Posts: 169 Location: IA
|
Okay I wa able to inport the .xsd and then the mesasges, wsdl but something does not look correct.
I'm sending my XML that the .xsd was generated off of to help explain the problem. In the XML below there are tags <R3> and <ZACCT_GRP> These contain the values that are inputs. When I add messages ( which seem to be tags) I'm using the <R3> tag as wsdl:input, since you can only have one. But when you look at the .wsdl the input does not look right. Where do you use wsdl:input, wsdl:output, and wsdl:fault.
.wsdl below XML.
Thanks
******************** XML **************************
<?xml version="1.0" encoding="UTF-8"?>
<REQUEST>
<CONTROL>
<ORIGINATOR>O2O</ORIGINATOR>
<ORIGIN_DATETIME>Thu Mar 02 13:31:38 CST 2006</ORIGIN_DATETIME>
<SERVICE>R3</SERVICE>
<FUNCTION>Z_RFC_B2C_PARTNER_LOOKUP</FUNCTION>
<DESTINATION>
<INSTANCE>TR2</INSTANCE>
<CLIENT>150</CLIENT>
</DESTINATION>
<VERSION>1.1</VERSION>
<PERSISTENCE>N</PERSISTENCE>
<REALTIME>Y</REALTIME>
<AUDIT_LOG>Y</AUDIT_LOG>
<ROUTER_MSGTIMES>
<GMTMSGSTART>2006-03-02 19:31:39.412469</GMTMSGSTART>
<GMTMSGCOMPLETION>2006-03-02 19:31:39.412469</GMTMSGCOMPLETION>
</ROUTER_MSGTIMES>
</CONTROL>
<APP>
<R3>
<SALESORG>1900</SALESORG>
<DIVISION>10</DIVISION>
<COUNTRY>DE</COUNTRY>
<PARTNERID>1010181817</PARTNERID>
<ZACCT_GRP>
<item>
<KTOKD>ZDE3</KTOKD>
</item>
<item>
<KTOKD>ZDE1</KTOKD>
</item>
</ZACCT_GRP>
<ZCHAR_IN/>
</R3>
</APP>
<STATUS>
<CODE>0</CODE>
<DESCRIPTION>SUCCESSFUL</DESCRIPTION>
</STATUS>
</REQUEST>
************** WSDL **************************************
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="Z_RFC_B2C_PARTNER_LOOKUP"
targetNamespace="http://tempuri.org/Z_RFC_B2C_PARTNER_LOOKUP/definitions"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:jms="http://schemas.xmlsoap.org/wsdl/jms/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://tempuri.org/Z_RFC_B2C_PARTNER_LOOKUP/definitions" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<types>
<schema
targetNamespace="http://tempuri.org/Z_RFC_B2C_PARTNER_LOOKUP/definitions"
xmlns="http://www.w3.org/2001/XMLSchema" xmlns:mrm="http://tempuri.org/Z_RFC_B2C_PARTNER_LOOKUP/definitions">
<include schemaLocation="Z_RFC_B2C_PARTNER_LOOKUP.xsd"/>
</schema>
</types>
<message name="R3">
<part element="tns:R3" name="R3Body"/>
</message>
<message name="APP">
<part element="tns:APP" name="APPBody"/>
</message>
<message name="item">
<part element="tns:item" name="itemBody"/>
</message>
<message name="ZACCT_GRP">
<part element="tns:ZACCT_GRP" name="ZACCT_GRPBody"/>
</message>
<message name="ZCHAR_IN">
<part element="tns:ZCHAR_IN" name="ZCHAR_INBody"/>
</message>
<portType name="Z_RFC_B2C_PARTNER_LOOKUPPortType">
<operation name="Z_RFC_B2C_PARTNER_LOOKUP">
<input message="tns:R3" name="R3"/>
<fault message="tns:APP" name="APP"/>
<fault message="tns:item" name="item"/>
<fault message="tns:ZACCT_GRP" name="ZACCT_GRP"/>
<fault message="tns:ZCHAR_IN" name="ZCHAR_IN"/>
</operation>
</portType>
</definitions> |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Mar 03, 2006 1:20 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Have you tried having R3 generate the WSDL and just import it ? _________________ MQ & Broker admin |
|
Back to top |
|
 |
schroederms |
Posted: Fri Mar 03, 2006 1:23 pm Post subject: |
|
|
 Disciple
Joined: 21 Jul 2003 Posts: 169 Location: IA
|
No I have not. I should have mentioned I'm still on Version 5, not sure if things work differently on v6.
So if I understand your question. The .xsd I get from the developer, when I add messages to the .category file, I should just add R3 and then assing that as wsdl:input?
Can you tell me when to use asdl:fault & wsdl:output?
Thanks! |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Mar 03, 2006 1:42 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Sorry I 'm on V6. Dont't know much about V5.
In V6 I would want to handle it this way:
As this is obviously an R3 service and they generated their service I would request the WSDL from them and just import it into the messageset...and generate the message definition from the WSDL...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
schroederms |
Posted: Mon Mar 06, 2006 5:17 am Post subject: |
|
|
 Disciple
Joined: 21 Jul 2003 Posts: 169 Location: IA
|
the only issue I have there is we are trying to use our existing EAI services as web services as well. So by me trying to get our EAI XML for this service exposed, I would acomplish that by using the HTTP listener and calling the back end through our EAI / WBI router. |
|
Back to top |
|
 |
kiran_mvr |
Posted: Fri Mar 17, 2006 10:34 am Post subject: |
|
|
Apprentice
Joined: 12 Dec 2004 Posts: 35
|
Quote: |
You can build a message set and then create WSDL out of it.
You can build a Message Set from an XML Schema and then build WSDL out of it.
You can build a message set from a WSDL directly. |
Do you mean we can create Message Set directly from WSDL in Message Broker V 5.0? _________________ Kiran_manny |
|
Back to top |
|
 |
|