Async web service.
Hi,
I created a WSDL out of a async outbound interface.I then created a web service client using NWDS from the above WSDL.When I run this client it always make a sync call to XI.
I tried the following
1.Created a sender soap adapter with QOS EO
2.Change the targetaddress with QOS=EO in .lp file in the client.
Nothing seems to work.
Any idea if we can make async webservice call to XI.
Thanks and regards,
Bikram
Hi Naveenkumar,
The address should be as specified in the below link:
http://help.sap.com/saphelp_nw04/helpdata/en/fc/5ad93f130f9215e10000000a155106/content.htm
http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel
Under party:service:channel enter the party name, the service name, and the name of the communication channel. If no party has been created, enter the following: channel=:service:channel
Regards
Suraj
Similar Messages
-
Hi there,
I've created a function module which calls a synchronous BAPI. I released this function module as a webservice.
When I call the web service it always gives a response although I don't need it in case of an async call.
Is it normal that even an async web service gives back a response?
Could it be that I have to change something in the definition of the function module to make it asynchronious? As far as I know, only a CALL of that function module can be sync/async, not a FM itself.
How can I achieve that the web service gives a response, or is it normal behaviour for sync and async calls?
THANKS in advance...Hi,
It will give the response even if for Asynchronous call, as basically its by nature synchronous. Thus in Interface Mappping if you see even if the response is not available the Respose tab get activated.
You could either supress or redirect the resopnse if you will not require it.
The Function module to be called in background for Asynchronous call.
refer,
Send RFC to SAP XI Asynchronous
/people/swaroopa.vishwanath/blog/2006/12/28/send-rfc-to-sap-xi-150-asynchronous
Thanks
Swarup -
Building & Consuming Async Web Service
I'm fairly new to web services. I built a WCF Web Service. It works fine when making synchronous calls. I'm stuck trying to make an async call. On the client side in Visual Studio, I get a "Cannot await TestWebServices.QuotingEngineService.SmallGroupQuote[]"
error when trying to make the call. Below is the pic of client configuration, the client code followed by the web service code. If you can point me in the right direction it would be greatly appreciated:
Client Web Config:
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IQuotingService" maxReceivedMessageSize="2147483647" maxBufferPoolSize="524288" maxBufferSize="2147483647" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://10.32.0.99/QuotingWebServiceHMO/Service.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IQuotingService"
contract="QuotingEngineService.IQuotingService" name="BasicHttpBinding_IQuotingService" />
</client>
Screen Shot of Configuration:
Page Load:
protected void Page_Load(object sender, EventArgs e)
List<int> corpIDs = new List<int>() { 57 };
fetchRenewalAsync(corpIDs);
fetchRenewalAsync - Where I get the error in VS:
private static async void fetchRenewalAsync(List<int> corpIDs)
using (QuotingServiceClient client = new QuotingServiceClient())
var task1 = client.GetSmallGroupRenewals(corpIDs.ToArray(), "3/1/2015", "2/23/2015", 121);
return await task1;
Quoting Service Interface:
[ServiceContract]
public interface IQuotingService
// Small Group Renewals:
[OperationContract]
List<SmallGroupQuote> GetSmallGroupRenewals(List<int> corpIDs, string effectiveDate, string activeDate, int censusBatchID);
Quoting Service:
namespace QuotingServices
public class QuotingService : IQuotingService
#region List<SmallGroupQuote> GetSmallGroupRenewals
public List<SmallGroupQuote> GetSmallGroupRenewals(List<int> corpIDs, string effectiveDate, string activeDate, int censusBatchID)
return SmallGroup.GetSmallGroupRenewals(corpIDs, effectiveDate, activeDate, censusBatchID);
#endregion
Another thing I noticed is the Async option is not available when I run the Web Service in debug mode, if that indicates anything.
ThanksHi Jamezn2013,
I see that you have used the following code:
private static async void fetchRenewalAsync(List<int> corpIDs)
using (QuotingServiceClient client = new QuotingServiceClient())
var task1 = client.GetSmallGroupRenewals(corpIDs.ToArray(), "3/1/2015", "2/23/2015", 121);
return await task1;
If you want to make the asynchronous WCF call, please try to modify the client.GetSmallGroupRenewals as client.GetSmallGroupRenewalsAsync:
private static async void fetchRenewalAsync(List<int> corpIDs)
using (QuotingServiceClient client = new QuotingServiceClient())
var task1 = client.GetSmallGroupRenewalsAsync(corpIDs.ToArray(), "3/1/2015", "2/23/2015", 121);
return await task1;
For more information, please try to refer to the following article:
http://www.codeguru.com/columns/experts/building-and-consuming-async-wcf-services-in-.net-framework-4.5.htm .
Best Regards,
Amy Peng
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
Async Web Service Client - Initialization
Hi @ll
A simple WS client can be initialized manually like:
service = new BasicReferenceService_Impl(referenceServiceWSDL);
port = service.getReferenceServiceSOAPjms();
If you do async calls over e.g. jms then you have to use annotations and define the port and response resp. failure methods like:
@ServiceClient(serviceName = "BasicReferenceService")
private ReferenceServicePortType port;
@AsyncResponse(target = "port", operation = "getResearchTarget")
public void onGetResearchTargetAsyncResponse(AsyncPostCallContext apc, ResearchTargetType researchTargetType)
logger.info("Async Result: " + researchTargetType.getTargetName() + "\n");
@AsyncFailure(target = "port", operation = "getResearchTarget")
public void onGetResearchTargetAsyncFailure(AsyncPostCallContext apc, Throwable e)
logger.error("Error occured during async call", e.fillInStackTrace());
Here find more information about:
http://e-docs.bea.com/wls/docs92/webserv/advanced.html#wp256268
This example client is implemented as Web Service defined by the @WebService annotation.
- Is it really necessary to pack the generated client that calls the provider web service "BasicReferenceService" into another client web service that it get initalized with the defined annotations?
- Is it also possible to pack the generated client into a stateless session bean so that the defined annotations get initalized correctly?
Thanks for helping and greetz
DaniSorry about the delay,
You just need to use the standard java http proxy properties, take a look at:
http://download-west.oracle.com/docs/cd/A97329_03/web.902/a95453/useservices.htm
Does this help?
Gerard -
Hi
Please provide me with pointers on how to develop async webservice in JEE5..
Please note that I am interested in building the service and NOT the client..
Thanks
SenthilHi Jamezn2013,
I see that you have used the following code:
private static async void fetchRenewalAsync(List<int> corpIDs)
using (QuotingServiceClient client = new QuotingServiceClient())
var task1 = client.GetSmallGroupRenewals(corpIDs.ToArray(), "3/1/2015", "2/23/2015", 121);
return await task1;
If you want to make the asynchronous WCF call, please try to modify the client.GetSmallGroupRenewals as client.GetSmallGroupRenewalsAsync:
private static async void fetchRenewalAsync(List<int> corpIDs)
using (QuotingServiceClient client = new QuotingServiceClient())
var task1 = client.GetSmallGroupRenewalsAsync(corpIDs.ToArray(), "3/1/2015", "2/23/2015", 121);
return await task1;
For more information, please try to refer to the following article:
http://www.codeguru.com/columns/experts/building-and-consuming-async-wcf-services-in-.net-framework-4.5.htm .
Best Regards,
Amy Peng
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
Ansync Web Service is Blocking
Hello,
I have build an asynchronous web service and have implemented a polling
interface for my Java client to access it. Here is the call sequence:
1. Client calls "start" method which is buffered and also starts a
conversation.
2. Client calls "isReady" which returns true|false depending on the status
of the service completion
3. Client calls "getInfo" which returns the result of the service
If the "start" method processing takes over 30 seconds the following
exception is genreated when calling "isReady":
####<Sep 15, 2003 9:57:51 AM PDT> <Error> <WLW> <OKCOMPUTER> <ssa_admin>
<ExecuteThread: '13' for queue: 'weblogic.kernel.Default'> <<anonymous>>
<BEA1-001F36642240> <000000>
<Failure=javax.ejb.TransactionRolledbackLocalException: [EJB:010107]The lock
request from EJB:PersistentContainer with primary
key:192.168.1.101-1556d12.f7a62f4472.-8000 timed-out after waiting 30,000
ms. The transaction or thread requesting the lock was:Name=[EJB
com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.
core.request.Request)],Xid=BEA1-001F36642240(27960095),Status=Active,numRepl
iesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=30,seconds
left=270,activeThread=Thread[ExecuteThread: '13' for queue:
'weblogic.kernel.Default',5,Thread Group for Queue:
'weblogic.kernel.Default'],SCInfo[domain_ssa+ssa_admin]=(state=active),prope
rties=({weblogic.transaction.name=[EJB
com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.
core.request.Request)]}),OwnerTransactionManager=ServerTM[ServerCoordinatorD
escriptor=(CoordinatorURL=ssa_admin+192.168.1.101:7001+domain_ssa+t3+,
XAResources={JMS_FileStore, weblogic.jdbc.wrapper.JTSXAResourceImpl,
JMS_cgJMSStore},NonXAResources={})]).; nested exception is:
weblogic.ejb20.locks.LockTimedOutException: [EJB:010107]The lock request
from EJB:PersistentContainer with primary
key:192.168.1.101-1556d12.f7a62f4472.-8000 timed-out after waiting 30,000
ms. The transaction or thread requesting the lock was:Name=[EJB
com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.
core.request.Request)],Xid=BEA1-001F36642240(27960095),Status=Active,numRepl
iesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=30,seconds
left=270,activeThread=Thread[ExecuteThread: '13' for queue:
'weblogic.kernel.Default',5,Thread Group for Queue:
'weblogic.kernel.Default'],SCInfo[domain_ssa+ssa_admin]=(state=active),prope
rties=({weblogic.transaction.name=[EJB
com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.
core.request.Request)]}),OwnerTransactionManager=ServerTM[ServerCoordinatorD
escriptor=(CoordinatorURL=ssa_admin+192.168.1.101:7001+domain_ssa+t3+,
XAResources={JMS_FileStore, weblogic.jdbc.wrapper.JTSXAResourceImpl,
JMS_cgJMSStore},NonXAResources={})]). [ServiceException]>
There are several things to note in this error message:
1. The the timeout occurred after 30,000 ms
2. The "seconds since begin" is equal to 30
3. The "seconds left" is equal to 270
If seems that if the "seconds since begin" is less than "seconds left" then
the exception should not occurr until the condition is false.
Also, the client call to "isReady" seems to be blocking based on the
exception and some debug/tracing I did. The server log confirms that the
when the client class "isReady" and the "start" method is still executing it
will wait until "start" is completed before letting the "isReady" call
continue.
A couple of questions:
1. Is this how an async Web service is supposed to behave when using
polling?
2. Where are the time out values specified that are displayed in the
stacktrace above?
-JoeHi,
Could you please try this>?
In the wlw-config.xml Configuration File please change
<ejb-concurrency-strategy> to Database.
Also please try this
How to set txn timeout in JWS files?
You should also be able to set this via a -D on the command line or through
the jws-config.properties. The property you want to set is
"weblogic.jws.TransactionTimeout". Give it some integer value corresponding
to the number of seconds you want the txn timeout value to be:
-Dweblogic.jws.TransactionTimeout=72000
would timeout transactions after 20 hours
Now, since this value gets cooked into deployment descriptors, you need to
have this property set when you deploy (in debug) or when you build your
production ear.
Vimala
"Joe Chavez" <[email protected]> wrote in message
news:[email protected]...
Hello,
I have build an asynchronous web service and have implemented a polling
interface for my Java client to access it. Here is the call sequence:
1. Client calls "start" method which is buffered and also starts a
conversation.
2. Client calls "isReady" which returns true|false depending on the status
of the service completion
3. Client calls "getInfo" which returns the result of the service
If the "start" method processing takes over 30 seconds the following
exception is genreated when calling "isReady":
####<Sep 15, 2003 9:57:51 AM PDT> <Error> <WLW> <OKCOMPUTER> <ssa_admin>
<ExecuteThread: '13' for queue: 'weblogic.kernel.Default'> <<anonymous>>
<BEA1-001F36642240> <000000>
<Failure=javax.ejb.TransactionRolledbackLocalException: [EJB:010107]Thelock
request from EJB:PersistentContainer with primary
key:192.168.1.101-1556d12.f7a62f4472.-8000 timed-out after waiting 30,000
ms. The transaction or thread requesting the lock was:Name=[EJB
com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.
>
core.request.Request)],Xid=BEA1-001F36642240(27960095),Status=Active,numRepl
iesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=30,seconds
left=270,activeThread=Thread[ExecuteThread: '13' for queue:
'weblogic.kernel.Default',5,Thread Group for Queue:
'weblogic.kernel.Default',SCInfo[domain_ssa+ssa_admin]=(state=active),prope
rties=({weblogic.transaction.name=[EJB
com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.
>
core.request.Request)]}),OwnerTransactionManager=ServerTM[ServerCoordinatorD
escriptor=(CoordinatorURL=ssa_admin+192.168.1.101:7001+domain_ssa+t3+,
XAResources={JMS_FileStore, weblogic.jdbc.wrapper.JTSXAResourceImpl,
JMS_cgJMSStore},NonXAResources={})]).; nested exception is:
weblogic.ejb20.locks.LockTimedOutException: [EJB:010107]The lock request
from EJB:PersistentContainer with primary
key:192.168.1.101-1556d12.f7a62f4472.-8000 timed-out after waiting 30,000
ms. The transaction or thread requesting the lock was:Name=[EJB
com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.
>
core.request.Request)],Xid=BEA1-001F36642240(27960095),Status=Active,numRepl
iesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=30,seconds
left=270,activeThread=Thread[ExecuteThread: '13' for queue:
'weblogic.kernel.Default',5,Thread Group for Queue:
'weblogic.kernel.Default',SCInfo[domain_ssa+ssa_admin]=(state=active),prope
rties=({weblogic.transaction.name=[EJB
com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.
>
core.request.Request)]}),OwnerTransactionManager=ServerTM[ServerCoordinatorD
escriptor=(CoordinatorURL=ssa_admin+192.168.1.101:7001+domain_ssa+t3+,
XAResources={JMS_FileStore, weblogic.jdbc.wrapper.JTSXAResourceImpl,
JMS_cgJMSStore},NonXAResources={})]). [ServiceException]>
There are several things to note in this error message:
1. The the timeout occurred after 30,000 ms
2. The "seconds since begin" is equal to 30
3. The "seconds left" is equal to 270
If seems that if the "seconds since begin" is less than "seconds left"then
the exception should not occurr until the condition is false.
Also, the client call to "isReady" seems to be blocking based on the
exception and some debug/tracing I did. The server log confirms that the
when the client class "isReady" and the "start" method is still executingit
will wait until "start" is completed before letting the "isReady" call
continue.
A couple of questions:
1. Is this how an async Web service is supposed to behave when using
polling?
2. Where are the time out values specified that are displayed in the
stacktrace above?
-Joe -
Consume conversational web services from WebLogic
hi all,
any one tried to consume conversational async webservices from weblogic 7 ? or tried to create conversational async webserices on sunONE ?
I am looking for standards to create interoperable async webservices which will use callbacks on the client side for notifications. Please advise...Hi Raja,
Following patterns will likely give you a good idea of the type of problems you will have to address in real-world apps involving interactions with async Web services. I would encourage you to make the leap to studying BPEL4WS (and possibly WS-Transaction as well if you have true transactional requirements).
App servers are at the core synchronous engines while BPEL4WS calls for asynchrony top to bottom. Saying that, it is possible to create an orchestration engine (as a J2EE container) on top of an app server to deliver orchestration infrastructure that deals with asynchrony, exception handling, long-running transactions, to enable developers to focus on the orchestration logic (i.e. BPEL) rather than re-invent the infrastructure wheel for each application built.
Take a look at the Q&A content here, hope it helps.
http://searchwebservices.techtarget.com/ateAnswers/0,289620,sid26_cid492833_tax292928,00.html
Doron\ -
Asynch web services having serialization problem wint 7.0SP1
Hi,
I've tried creating a simple async web service that sends a Java bean to a web
service that's implemented
as an MDB. i.e. The java bean is of type malcolm.AimosMatchedRequest and is therefore
delivered as
an ObjectMessage.
I keep getting a deserialising error listed below in the Weblogic log.
Now if I do a serialver on my Javabean class I get the value 6661344068394585445
in agreement with the log for the stream classdesc. I therefore presume that
the
local class, is the server view which I guess is the SOAP unmarshaled/generated
class that
WebLogic is expecting???
How do I deal with this problem? Note that explitiely forcing the serialuid in
my Javabean class
does not help, which to me confirms that WebLogic is geenrating some SOAP equiv
class.
regards
--malcolm
weblogic.jms.common.JMSException: Error deserializing object
at weblogic.jms.common.ObjectMessageImpl.getObject(ObjectMessageImpl.jav
a:140)
at malcolm.AimosMatchedBean.onMessage(AimosMatchedBean.java:68)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:356)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.
java:290)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:271)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2303)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2226)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
----------- Linked Exception -----------
java.io.InvalidClassException: malcolm.AimosMatchedRequest; Local class not comp
atible: stream classdesc serialVersionUID=6661344068394585445 local class serial
VersionUID=7727103220180333880
at java.io.ObjectStreamClass.validateLocalClass(ObjectStreamClass.java:5
18)
at java.io.ObjectStreamClass.setClass(ObjectStreamClass.java:562)
at java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java
:931)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:361)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1181)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:381)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
at weblogic.jms.common.ObjectMessageImpl.getObject(ObjectMessageImpl.jav
a:128)
at malcolm.AimosMatchedBean.onMessage(AimosMatchedBean.java:68)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:356)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.
java:290)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:271)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2303)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2226)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
weblogic.jms.common.JMSException: Error deserializing object
at weblogic.jms.common.ObjectMessageImpl.getObject(ObjectMessageImpl.jav
a:140)
at malcolm.AimosMatchedBean.onMessage(AimosMatchedBean.java:68)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:356)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.
java:290)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:271)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2303)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2226)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
----------- Linked Exception -----------
java.io.InvalidClassException: malcolm.AimosMatchedRequest; Local class not comp
atible: stream classdesc serialVersionUID=6661344068394585445 local class serial
VersionUID=7727103220180333880
at java.io.ObjectStreamClass.validateLocalClass(ObjectStreamClass.java:5
18)
at java.io.ObjectStreamClass.setClass(ObjectStreamClass.java:562)
at java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java
:931)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:361)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1181)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:381)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
at weblogic.jms.common.ObjectMessageImpl.getObject(ObjectMessageImpl.jav
a:128)
at malcolm.AimosMatchedBean.onMessage(AimosMatchedBean.java:68)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:356)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.
java:290)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:271)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2303)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2226)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)Bruce Stephens <[email protected]> wrote:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Hi Malcolm,
<p>There's been a significant amount of work done on async services in
conjunction with reliable ws messaging that will be available in the
next
release.
<p>Can you/your customer be part of the upcoming beta?Certainly keen to participate. I presume from what you've said that SP1 is still
problematic for async. I've found that SP1 seems pretty good for synch web services
(addressed issues I had with 7.0).
regards
--malcolm
<p>Thanks,
<br>Bruce
<p>Malcolm Robbins wrote:
<blockquote TYPE=CITE>Wow,
<br> based on no replies it appears that no one is actually using
asynch web services.
<p>It looks like I better recommend to my (large bea customer) that WebLogic
async
<br>web services are not ready for prime time...
<p>regards
<p>--malcolm</blockquote>
</html> -
HI
I want to call Async web service using WS addressing.Can anybody know how to achieve it in OSB?
ThanksHI
thanks for the prompt reply.
I have gt the links wher they have given to call the BPEL Asynchronously.But i dnt want any BPEL
I just want the reply from the WebService in to the Proxy Service.
It wil be great if you give me the steps to do that ...
Thanks -
Asynchronous web services support?
Hi all
Please advice is async web service calls are supported in siebel crm on demand. Is web services are configurable through admin interface to support asynchronous?
Thank you.Any Information on Asynchronous Web Services request???
-
Define Web Service - Send Asynchronous Message
Hi All,
I have to send an asynchronous message from a java web application to XI. For this I tried to used the Define Web Service option in XI. However the documentation says that this tool can be used only for Synchronous interfaces. Is this the case even now? What would be an alternate approach to accomplish this?
Thanks,
SandeepHi,
As explained above , no need to have the webservice only in the case of Sync communication , you can also achieve this by way of generating the WSDL from ID -- tools and added the Quality of service = EO.
Please see the below links to get more details
ThirdPart(WebService) <=> XI <=> SAP(Async)
Check this SAP Help-
http://help.sap.com/saphelp_nw2004s/helpdata/en/48/d5a1fe5f317a4e8e35801ed2c88246/frameset.htm
Async web service.
Communication between SAP System & Webservice Using Proxies - /people/siva.maranani/blog/2005/05/23/communication-between-sap-system-webservice-using-proxies
Also see the below links about webservices
/people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1
/people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2
/people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi
/people/siva.maranani/blog/2005/03/01/testing-xi-exposed-web-services
/people/michal.krawczyk2/blog/2005/03/29/configuring-the-sender-rfc-adapter--step-by-step
https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2131 [original link is broken] [original link is broken] [original link is broken] [original link is broken]
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/336365d3-0401-0010-9884-a651295aeaa9
Regards
Chilla..
<i>Points rewarded if it is helpful..</i> -
Does ws adapter only work with asynchronous web service?
Hi all,
can you please confirm whether or not ws adapter (PI 7.1) only works with asynchronous web service?
I have created an async. outbound service interface in PI 7.1, generated the client proxy in ECC, created an web service based on the proxy, wrote a test program to call the web service (PI scenario uses ws adapter in the sender CC). Everything works fine.
Then I did the same thing with sync. outbound service interface. I got exception while calling the web service in ECC.
I've heard that ws adapter is designed for async. communication. Does it mean that it won't work with sync. web service?
I haven't seen any official SAP document saying taht ws adapter only works for async. web service. If you have any, can you please share it?
Thanks
JaysonThank you all for your information.
The error I got when calling the proxy with logical port (web service) is:
SOAP:1,007 SRT: Unsupported xstream found: ("HTTP Code 404 : Not Found")
I will debug it to see what exactly happens. And will keep you guys updated.
Just debugged, the error is because the http header's content type is text/html while it should be test/xml. However this type is set by the ws runtime, not by the application. Anybody has an idea about this?
Jayson
Edited by: Jayson on Feb 18, 2009 10:04 AM
Edited by: Jayson on Feb 18, 2009 12:11 PM -
Message Validation in Web Services
I noticed today that my service allows messages to reach
my service implementation class even when the message doesn't appear to satisfy the WSDL. For example I can pass it an object whose child members are null even if the WSDL says that they must exist. Is It true that no validation occurs against the WSDL. If not do newer versions of WebLogic do this. I am using 8.1.5. What is the industry standard of performing validation ?
I am writing this service for a client and want them to recieve faults if the message set to me is invalid.
Thanks;
KahlerDoron,
Actually, what we are doing is to work out a feasible archet. for a hub platform, or agent for the agencies to implement their enterprise services. So we need to build a simple echoXXX test case to prove our archet. works.
The propose hub plateform allows the services providers to publish theis enterprise services, mostly which are async. web services, on the hub.
I think it is hard to explain through plain words. Can you give me your email adress and show you some diagram? Thanks,
Shaun -
Can I consume Asynchronous Web Services from WD?
We have some asynchronous web services running on XI, my doubt is if I can consume those web services in my WebDynpro application...
Any ideas... thanx in advance.
JVHi Raja,
Following patterns will likely give you a good idea of the type of problems you will have to address in real-world apps involving interactions with async Web services. I would encourage you to make the leap to studying BPEL4WS (and possibly WS-Transaction as well if you have true transactional requirements).
App servers are at the core synchronous engines while BPEL4WS calls for asynchrony top to bottom. Saying that, it is possible to create an orchestration engine (as a J2EE container) on top of an app server to deliver orchestration infrastructure that deals with asynchrony, exception handling, long-running transactions, to enable developers to focus on the orchestration logic (i.e. BPEL) rather than re-invent the infrastructure wheel for each application built.
Take a look at the Q&A content here, hope it helps.
http://searchwebservices.techtarget.com/ateAnswers/0,289620,sid26_cid492833_tax292928,00.html
Doron\ -
Async system - XI BPM Sync - Web service - SOAP response
Dear Experts:
I have the following scenario:
Async Proxy to XI to web service. I use BPM to make this a sync call to the web service. It works fine!
I have a XSLT mapping for the response message from the web service. I use XSLT because the structure of the positive and fault responses are different. Anyway, I could get the positive response post ok back in the XI system.
But the fault response does not get mapped and I get a APPLICATION_ERROR of category UNKNOWN in the SXMB_MONI. I also configured exception handling in the BPM. But it does not catch this error.
Can anyone suggest how to handle the fault response from the web service?
Thank you.I just had the same problem and solved it like this: I modified the WSDL slightly by removing the prefix from the reference to the element of the response message, as well as the "targetNamespace" in the xsd:schema segment of the WSDL. Like this, SAP is able to parse the response.
Philippe
Maybe you are looking for
-
How to get field data using a formula
I have a table with fields 'pension contribution' and 'current year'.The first field stores a single record for a given year.Say if 'current year' is 2014 'pension contribution' is 7% and so on. I wanted to get a result by providing a certain year fr
-
I moved Photoshop CS5 to my new computer.. Its not working.. What to do?
-
Hello Friends, i have created one Zfunction module in tht i have written code for interactive alv with check boxes. now when the user selects the checkboxes amd press save button in alv grid display the output gets saved in one internal table in the
-
How can I make the wallpaper without big size and without losing quality?
When I make the wallpaper I don't want that pictures be extended.
-
A white point question ...
Most of the chromaticity diagrams for RGB color spaces show the D65 illuminant as a white point. White point is where all three primaries are equal in intensity, so it is a neutral color at every luminance level. What about D65? ... is it an exactly