on 12-17-2009 5:17 AM
Hi Experts,
I have to worl on the scenario :Non-SAP --> PI --> SAP R/3
Receiver is RFC. Webservice has to be generated by PI. What are the requisites for the same and how can this be achieved?
Please suggest!!
Thanks & Regards,
Sushama Pandey
hi Sushama,
WSDL can be generated in IB (Integration Builder)
Steps are as given below:
1. Under tools -> select Display WSDL.
2. Give URL as : http://<host>:<port>/XISOAPAdapter/MessageServlet?channel=:<sender Business system>:<sender communication chanel name>
3. Specify the service interface name to be used.
4. Then save it on your local machine. Which can be consumed later.
Thanks,
Mayank
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Sushma,
you need to create the scenario with soap adapter as sender and RFC as receiver ..once everything is fine..then need to generate the WSDL with the help of the generate WSDL option in the ID and then need to provide the WSDL file to the
Non SAP application...
during the generation of the WSDL make sure the URL or SOAP URL is generating as siad above instead of using the default value provided by the ID instead..
if need more details on the generation of the WSDL search the SDN there is How to guide on the same also...
HTH
Rajesh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Sushma,
I have same requirement. I am using a web service (created from a EJB client) to test the web service (for the Service Interface)
I get following exception upon running the web service:
javax.ejb.EJBException: (Failed in component: sap.com/HeaderProxyEAR) Exception raised from invocation of public java.lang.String com...doe.salesheader.DoeToSapBean.doeHeader(java.lang.String) method on bean instance com...doe.salesheader.DoeToSapBean4b588a1d for bean sap.com/HeaderProxyEARannotation|HeaderProxyEJB.jarannotation|DoeToSapBean in application sap.com/HeaderProxyEAR.; nested exception is: javax.xml.ws.WebServiceException: java.lang.ClassCastException: class com.sap.engine.services.jndi.persistent.UnsatisfiedReferenceImpl:service:namingcom.sap.engine.boot.loader.ResourceMultiParentClassLoader456d3d51alive incompatible with interface com.sap.engine.services.webservices.espbase.xi.ESPXIMessageProcessor:library:webservices_libcom.sap.engine.boot.loader.ResourceMultiParentClassLoader1e6ee98alive
Here is the code in my EJB session bean:
public class DoeToSapBean implements DoeToSapRemote, DoeToSapLocal {
@WebServiceRef (name = "SalesOrderCreate_Out_Service", wsdlLocation = "META-INF/wsdl/com/./doe/salesheader/SalesOrderCreate_Out/SalesOrderCreate_Out.wsdl")
SalesOrderCreateOutService service;
public String doeHeader(String headerXml){
SalesOrderCreateOut servicePort = service.getSalesOrderCreate_Out_Port();
SalesOrderResponse response = null;
Project salesOrderCreateRequest = new Project();
Header header = new Header();
header.setTitle("EAST COAST SHEET METAL MOTOR WARRANTY");
header.setBillToName("GLOBAL MECHANICAL SYSTEMS LTD");
salesOrderCreateRequest.setHeader(header);
try {
response = servicePort.salesOrderCreateOut(salesOrderCreateRequest);
} catch (SalesOrderError_Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
TRETURN treturn = response.getTRETURN();
Iterator ls = treturn.getItem().iterator();
while(ls.hasNext()){
TRETURN.Item tempItem = (TRETURN.Item)ls.next();
headerXml = tempItem.getMESSAGE();
break;
}
return headerXml;
}
}
Can you please post your solution...
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.