INT-197 Adding a Web Service Sample

This commit is contained in:
Marius Bogoevici
2008-05-23 06:28:25 +00:00
parent 02a7bb3aca
commit 936cc3aaac
4 changed files with 82 additions and 0 deletions

View File

@@ -17,5 +17,6 @@
<classpathentry kind="var" path="IVY_CACHE/javax.jms/com.springsource.javax.jms/1.1.0/com.springsource.javax.jms-1.1.0.jar" sourcepath="/IVY_CACHE/javax.jms/com.springsource.javax.jms/1.1.0/com.springsource.javax.jms-sources-1.1.0.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.springframework.integration"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.springframework.integration.adapter"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.springframework.integration.ws"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@@ -23,6 +23,7 @@
<dependency org="javax.jms" name="com.springsource.javax.jms" rev="1.1.0" conf="provided->runtime"/>
<dependency org="org.junit" name="com.springsource.org.junit" rev="4.4.0" conf="test->runtime"/>
<dependency org="org.springframework.integration" name="org.springframework.integration" rev="latest.integration" conf="compile->compile"/>
<dependency org="org.springframework.integration" name="org.springframework.integration.ws" rev="latest.integration" conf="compile->compile"/>
<dependency org="org.springframework" name="org.springframework.context" rev="2.5.4.A" conf="compile->runtime"/>
<dependency org="org.springframework" name="org.springframework.aop" rev="2.5.4.A" conf="compile->runtime"/>
<dependency org="org.springframework" name="org.springframework.jms" rev="2.5.4.A" conf="compile->runtime"/>

View File

@@ -0,0 +1,53 @@
/*
* Copyright 2002-2008 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.integration.samples.ws;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.integration.channel.MessageChannel;
import org.springframework.integration.message.GenericMessage;
import org.springframework.integration.message.Message;
import org.springframework.integration.ws.adapter.AbstractWebServiceTargetAdapter;
/**
* Demonstrating a web service invocation through a Web Service Target.
*
* @author Marius Bogoevici
*/
public class WebServiceDemo {
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("temperatureConversion.xml",
WebServiceDemo.class);
context.start();
// Compose the XML message according to the server's schema
String requestMessage = "<FahrenheitToCelsius xmlns=\"http://tempuri.org/\">" +
" <Fahrenheit>90.0</Fahrenheit>" +
" </FahrenheitToCelsius>";
// Prepare the Message object
Message<String> message = new GenericMessage<String>(requestMessage);
// In this case the service expects a SoapAction header
message.getHeader().setProperty(AbstractWebServiceTargetAdapter.SOAP_ACTION_PROPERTY_KEY, "http://tempuri.org/FahrenheitToCelsius");
// Set the return address for the message - the response message will be returned on this channel
message.getHeader().setReturnAddress("celsiusChannel");
((MessageChannel)context.getBean("fahrenheitChannel")).send(message);
}
}

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:si="http://www.springframework.org/schema/integration"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/integration
http://www.springframework.org/schema/integration/spring-integration-ws-1.0.xsd">
<si:message-bus/>
<!-- A Web Service target reads messages from the configurd channel, invokes the service and sends
the response on the replyAddress configured on the message header -->
<si:channel id="fahrenheitChannel"/>
<si:ws-target id="temperatureConverter"
uri="http://www.w3schools.com/webservices/tempconvert.asmx"
channel="fahrenheitChannel" />
<si:channel id="celsiusChannel"/>
<!-- The response from the service is logged on the console -->
<si:target-endpoint target="console" input-channel="celsiusChannel"/>
<si:console-target id="console"/>
</beans>