Link to home
Start Free TrialLog in
Avatar of cakurien
cakurien

asked on

Consume Java web services through MQ/Message Broker

I am creating a web services in java and deployed in tomact 5.5 server. I used AXIS2 to develop that. How can a IBM client using message broker/mq series consume the java web services.

Can you please provide me the complete installation step that includes IBM mQ series  to consume that. I am not aware about MQ/Message broker.
Avatar of krishna kishore mellacheruvu venkata
krishna kishore mellacheruvu venkata
Flag of India image

Please find the following link as it may solve your problem
http://www.ibm.com/developerworks/webservices/library/ws-soa-msgbroker/
Avatar of cakurien
cakurien

ASKER

Thanks a lot for this link.
I am looking for a complete set up for this and the client and server setup( Web service is developed  in Java1.5/AXIS2 and deployed in Tomcat 5.5).
In windows OS, for the POC purpose, what shall I installed to simulate that.
1.  From Main Main Frame how can I invoke/onsume the web service using Message Broker.
2. How to simulate the broker in windows machine, Is any technique for this?
Actually the requirement was

1.  Develop a web service in Java1.5/ AXIS2 and deploy in tomcat/websphere.
2.  Consume the web service through a IBM main frame system using Message Broker

One doubut is that is any Message Broker tool that we can install in windows XP that can simulate the Message Broker. And from this can we consume the webservice that is developed in java.

Thanks again.

Sorry for that u need to wait for any other expert to answer.
Message broker flows can call webservices using either the built-in HTTPrequest node or using the IBM's
IA9O support pack you get support to manage webservice requests and SOAP envelope.
You can download the IA9O from this page:
http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg24014070&loc=en_US&cs=utf-8&lang=en

Anyway the best practice is to start defining the WSDL file of the webservice and generate both the server interface for server side and message definition for broker side.
Thanks again.

But how can I put the message definions for Broker Side in the WSDL. Can you please provide me a sample WSDL for that.

So in  windows XP, what all s/w need to install for doing the message broker. In the site they are saying to install the following
1.  WebSphere Message Broker v6.0
2.  ia9o.zip

whether this is enough to test my application.

Can you please provide some example applications in the client side to pass the request and get the response in the mentioned environment.

Because first time I am doing any thing in Message Brokering with MQ :(
WebSphere Message Broker v6.0 has some prerequisits which normally included in installation package.
They are WebSpere MQ v6, DB2, Eclipse 3.0

A sample WSDL attached here. It refers an XSD schema file which should describe your XML data.
Any XML editor tool can help you to edit them.
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"  xmlns:tns="http://yourapp.company.com/YourApp" xmlns="http://www.w3.org/2001/XMLSchema" name="YourApp" targetNamespace="http://yourapp.company.com/YourApp">
	<wsdl:types>
		<schema targetNamespace="http://account.company.com/YourApp" elementFormDefault="qualified">
		<import namespace="http://yourapp.types.company.com/YourApp" schemaLocation="yourapp.xsd"/>
		</schema>
</wsdl:types>
	<wsdl:message name="YourAppRequest">
		<wsdl:part name="parameter" type="xs:string"/>
	</wsdl:message>
	<wsdl:message name="YourAppResponse">
		<wsdl:part name="parameter" type="xs:string"/>
	</wsdl:message>
	<wsdl:message name="YourFault">
		<wsdl:part name="Fault" type="common:Fault"/>
	</wsdl:message>
	<wsdl:portType name="YourAppPortType">
		<wsdl:operation name="YourOperation">
			<wsdl:input message="tns:YourAppRequest"/>
			<wsdl:output message="tns:YourAppResponse"/>
			<wsdl:fault name="Fault" message="tns:YourFault"/>
		</wsdl:operation>
	</wsdl:portType>
	<wsdl:binding name="YourAppBinding" type="tns:YourAppPortType">
		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
		<wsdl:operation name="YourOperation">
			<soap:operation soapAction="YourOperation"/>
			<wsdl:input name="YourAppRequest">
				<soap:body use="literal"/>
			</wsdl:input>
			<wsdl:output name="YourAppResponse">
				<soap:body use="literal"/>
			</wsdl:output>
			<wsdl:fault name="Fault"/>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:service name="YourApp_SOAP_HTTP_Service">
		<wsdl:port name="SOAP_HTTP_Port" binding="tns:YourAppBinding">
			<soap:address location="http://your.host.com:80/services/YourApp"/>
		</wsdl:port>
	</wsdl:service>
</wsdl:definitions>

Open in new window

Thanks for the steps. This WSDL is same as the normal WSDL. This is ok for me. (I thought that I have to write seperate message definitions for the broker side other than our normal messages :))

One more help, from message broker side what is the mechanism to invoke the web service method, Any examples/tutorials for that???
ASKER CERTIFIED SOLUTION
Avatar of lgacs
lgacs
Flag of Hungary image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks
Thanks a lot sir. I'll get back to you for further doubts :)