Have a look at this configuration....
----------------------------------------------------------------------------
<beans
xmlns:citytime="http://servicemix.apache.org/samples/orchestration-jsr181"
xmlns:jsr181="http://servicemix.apache.org/jsr181/1.0"
xmlns:localtime="http://ripedev.com/xsd/ZipCodeResults.xsd"
xmlns:uszip="http://www.webserviceX.NET">
<jsr181:endpoint pojo="#mypojo" wsdlResource="classpath:service.wsdl"
typeMapping="jaxb2"
annotations="jsr181"
style="document"/>
<bean id="mypojo"
class="org.apache.servicemix.samples.orchestration_jsr181.CityTimeImpl">
<property name="usZip">
<jsr181:proxy context="#context"
type="net.webservicex.USZipSoap"
service="uszip:USZip" />
</property>
<property name="localTime">
<jsr181:proxy context="#context"
type="com.ripedev.xsd.zipcoderesults.LocalTimeSoap"
service="localtime:LocalTime" />
</property>
</bean>
</beans>
----------------------------------------
Here.. The two jsr181 proxys for external webservices are used by the
CityTimeImpl pojo. you can call them inside the pojo methods along with the
business logic that you want to implement..
Also have a look at the pojo implementation...
-----------------------------------------------------------
import javax.jws.WebService;
import net.webservicex.*;
import com.ripedev.xsd.zipcoderesults.*;
import org.w3c.dom.Element;
@WebService(serviceName = "CityTime", targetNamespace =
"http://servicemix.apache.org/samples/orchestration-jsr181", endpointInterface
= "org.apache.servicemix.samples.orchestration_jsr181.CityTimePortType")
public class CityTimeImpl
implements CityTimePortType
{
private USZipSoap usZip;
private LocalTimeSoap localTime;
public void setLocalTime(LocalTimeSoap localTime) {
this.localTime = localTime;
}
public void setUsZip(USZipSoap usZip) {
this.usZip = usZip;
}
public GetCityTimeResponse
getCityTime(org.apache.servicemix.samples.orchestration_jsr181.GetCityTimeRequest
GetCityTimeRequest) {
GetInfoByCity GetInfoByCity = new GetInfoByCity();
GetInfoByCity.setUSCity(GetCityTimeRequest.getCity());
GetInfoByCityResponse r = usZip.getInfoByCity(GetInfoByCity);
Element e = (Element) r.getGetInfoByCityResult().getContent().get(0);
e = (Element) e.getElementsByTagName("Table").item(0);
e = (Element) e.getElementsByTagName("ZIP").item(0);
String ZipCode = e.getTextContent();
String lt = localTime.localTimeByZipCode(ZipCode);
GetCityTimeResponse rep = new GetCityTimeResponse();
rep.setTime(lt);
return rep;
}
}
----------------------------------------------------------------
It is all there in the tutorial
http://incubator.apache.org/servicemix/orchestration-with-jsr181.html
<http://incubator.apache.org/servicemix/orchestration-with-jsr181.html>
Regards,
Rabi Mishra
http://rabisblog.blogspot.com/
________________________________
From: Erik Allais [mailto:[EMAIL PROTECTED]
Sent: Thu 6/28/2007 6:28 PM
To: [email protected]
Subject: Re: Calling External WS in a component
i need to make WS inside jbi who call external WS with a special business
logic
for example, i have a WS inside jbi which get the user list of my
application
this operation invole to call a sequence of my external WS.
How can i do taht without calling SOAP directly in my method?
gnodet wrote:
>
> Agreed. Your service should not deal with SOAP directly if inside the JBI
> bus.
> That way, you can achieve loose coupling between your services.
> I've blogged about that very recently:
> http://gnodet.blogspot.com/2007/06/loose-coupling-in-jbi.html
>
> On 6/28/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>>
>>
>> Jsr181:proxy is nothing but a proxy(client) for the external WS. Please
>> go through the tutorial that explains how multiple external WS can be
>> orchestrated inside a single jsr181 Pojo (exposed via http endpoint)
>>
>> Regards,
>> Rabi Mishra,
>> http://rabisblog.blogspot.com/
>> c++; /* this makes c bigger but returns the old value */
>> -----Original Message-----
>> From: Erik Allais [mailto:[EMAIL PROTECTED]
>> Sent: Thursday, June 28, 2007 2:33 PM
>> To: [email protected]
>> Subject: RE: Calling External WS in a component
>>
>>
>> my real question is to implement a soap client inside a method of my web
>> service so i want to know i must develop this client or if this
>> component ever exist en SMX
>>
>>
>> rabi wrote:
>> >
>> >
>> > You can use jsr181 proxy to call external ws.
>> >
>> > <jsr181:proxy context="#context"
>> > type="net.webservicex.USZipSoap"
>> > service="uszip:USZip" />
>> > </property>
>> >
>> > Look at the tutorial..
>> >
>> > http://incubator.apache.org/servicemix/orchestration-with-jsr181.html
>> >
>> >
>> > Regards,
>> > Rabi Mishra,
>> > Wipro Technologies,Office: +91-20-39104549, VOIP:842
>> > 2545,CELL+91(0)9890363765
>> > http://rabisblog.blogspot.com/
>> > c++; /* this makes c bigger but returns the old value */
>> > -----Original Message-----
>> > From: Erik Allais [mailto:[EMAIL PROTECTED]
>> > Sent: Thursday, June 28, 2007 2:11 PM
>> > To: [email protected]
>> > Subject: Calling External WS in a component
>> >
>> >
>> >
>> >>> i need help about my conception.
>> >>> I need to make a internal WS in servicemix which call external WS
>> >>>
>> >>>
>> >>> my pojo class :
>> >>> -> method 1 }
>> >>> -> method 2 } [internal WS]
>> > ---------------?----------------
>> >>> [external WS]
>> >>> -> method 3 }
>> >>>
>> >>> each method of my jsr181 pojo class need to call external WS
>> >>>
>> >>> There is a component inside servicemix which do that job (WS client
>> >>> or SOAP client) Or i must implement my own WS client with axis or
>> >>> XFire Same question with jdbc
>> >>>
>> >>> Thanks,
>> >>> Wait your response.
>> >>>
>> >>> Erik
>> > --
>> > View this message in context:
>> > http://www.nabble.com/Calling-External-WS-in-a-component-tf3993170s120
>> > 49
>> > .html#a11339268
>> > Sent from the ServiceMix - User mailing list archive at Nabble.com.
>> >
>> >
>> >
>> > The information contained in this electronic message and any
>> > attachments to this message are intended for the exclusive use of the
>> > addressee(s) and may contain proprietary, confidential or privileged
>> > information. If you are not the intended recipient, you should not
>> > disseminate, distribute or copy this e-mail. Please notify the sender
>> > immediately and destroy all copies of this message and any
>> attachments.
>> >
>> > WARNING: Computer viruses can be transmitted via email. The recipient
>> > should check this email and any attachments for the presence of
>> viruses.
>> > The company accepts no liability for any damage caused by any virus
>> > transmitted by this email.
>> >
>> > www.wipro.com
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Calling-External-WS-in-a-component-tf3993170s12049
>> .html#a11339530
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
>>
>> The information contained in this electronic message and any attachments
>> to this message are intended for the exclusive use of the addressee(s)
>> and
>> may contain proprietary, confidential or privileged information. If you
>> are
>> not the intended recipient, you should not disseminate, distribute or
>> copy
>> this e-mail. Please notify the sender immediately and destroy all copies
>> of
>> this message and any attachments.
>>
>> WARNING: Computer viruses can be transmitted via email. The recipient
>> should check this email and any attachments for the presence of viruses.
>> The
>> company accepts no liability for any damage caused by any virus
>> transmitted
>> by this email.
>>
>> www.wipro.com
>>
>
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Principal Engineer, IONA
> Blog: http://gnodet.blogspot.com/
>
>
--
View this message in context:
http://www.nabble.com/Calling-External-WS-in-a-component-tf3993170s12049.html#a11342165
Sent from the ServiceMix - User mailing list archive at Nabble.com.
The information contained in this electronic message and any attachments to
this message are intended for the exclusive use of the addressee(s) and may
contain proprietary, confidential or privileged information. If you are not the
intended recipient, you should not disseminate, distribute or copy this e-mail.
Please notify the sender immediately and destroy all copies of this message and
any attachments.
WARNING: Computer viruses can be transmitted via email. The recipient should
check this email and any attachments for the presence of viruses. The company
accepts no liability for any damage caused by any virus transmitted by this
email.
www.wipro.com