cancel
Showing results for 
Search instead for 
Did you mean: 

XI to SOAP scenario not working - SOAP: call failed: java.net.ConnectExcept

Former Member
0 Kudos

Hi,

I'm trying for a while to make the scenario Proxy to SOAP work without avail. First of, I'm connecting to this Web Service:

http://swanandmokashi.com/HomePage/WebServices/QuoteOfTheDay.asmx?WSDL

Here's how I did my scenario:

1) I Imported this WSDL in the IR.

2) I created two tiny data types to help me creating my Proxy, each of the data type contains the element Data, type string, Occurence 0 to n. Based on that, I created message types and a synchronous message interface. Based on the WSDL, I created another sync message interface.

3) I did the mappings in the IR.

Now onto the Integration Directory

4) I created a CC for the Proxy Sender - simple one.

5) I created a SOAP receiver CC with the following parameters:

Target URL: http://swanandmokashi.com/HomePage/WebServices/QuoteOfTheDay.asmx

( I also tried http://swanandmokashi.com/ and a bunch of other variations)

SOAP Action: http://swanandmokashi.com/GetQuote

6) I created the receiver det, interface det, sender agreement, receiver agreement.

Note: In order not to create another business system, I used the BS already existent for the PI system (I really don't think it makes any difference).

Now, I'm quite sure that I mess things up with the Target URL and SOAP Action, but I don't understand what are the right values from what I read.

To give you more info, the error that I get is 500 (timeout) ( I tested the service with soapUI, it's working).

Excerpt from CC Monitoring:

Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Connection timed out (errno:238): java.net.ConnectException: Connection timed out (errno:238)

SOAP: call failed: java.net.ConnectException: Connection timed out (errno:238)

Can you please help out?

Thanks & best regards,

George

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Log on to the PI machine and try accessing the url http://swanandmokashi.com/HomePage/WebServices/QuoteOfTheDay.asmx?WSDL

If it doesn't work, try pinging the host alone.

If you can't reach it, there's your problem, if not, happy hunting!

Kr,

Frederik-Jan.

Former Member
0 Kudos

Hi Frederik-Jan,

If by accessing this URL you mean creating a favorite with this URL and clicking on it, I did that and it's working OK. Any other suggestion?

Regards,

George

Former Member
0 Kudos

Oh, wait a minute, now I get what you were saying. I'm not a Basis admin, I don't have access to the PI machine.

Answers (4)

Answers (4)

Former Member
0 Kudos

Thanks, so problem basically solved (or not?). I'll try this out in my company's test systems and see if it's working out or not.

Former Member
0 Kudos

Here it is not required to create sender communication channel as you are using proxies in the sender side for communication.

Former Member
0 Kudos

Yeah, but this is not the point of failure, sending the message from ERP to PI, but sending it onwards.

Former Member
0 Kudos

Hi,

You need to ask the IT team to open internet ports for the IP for your PI server. Connection time is because PI cannot reach the web service.

Its a network level issue. Basis cannot help with this.

Regards,

Vikas

former_member187339
Active Contributor
0 Kudos

Hi,

Try

url : http://swanandmokashi.com/HomePage/WebServices/QuoteOfTheDay.asmx

without any soap action and tell us what happens in CC Log

Regards

Suraj

Former Member
0 Kudos

Still not working, the same error.

former_member187339
Active Contributor
0 Kudos

Hi George,

I testes the wsdl in soap ui and got the following:

url : http://swanandmokashi.com/HomePage/WebServices/QuoteOfTheDay.asmx

Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:swan="http://swanandmokashi.com">

<soapenv:Header/>

<soapenv:Body>

<swan:GetQuote/>

</soapenv:Body>

</soapenv:Envelope>

Response:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<soap:Body>

<GetQuoteResponse xmlns="http://swanandmokashi.com">

<GetQuoteResult>

<QuoteOfTheDay>Adversity attracts the man of character. He seeks out the bitter joy of responsibility.</QuoteOfTheDay>

<Author>Charles de Gaulle</Author>

</GetQuoteResult>

</GetQuoteResponse>

</soap:Body>

</soap:Envelope>

Is your request of this format?

Also select keep headers in receiver Communication channel

Regards

Suraj

Edited by: S.R.Suraj on Sep 17, 2009 8:58 AM

Former Member
0 Kudos

Hi Suraj,

How can I see the SOAP request the way it gets out of the SOAP adapter, without proxy servers and monitoring on the server side?

In SXMB_MONI, I see the last payload as:

<?xml version="1.0" encoding="UTF-8" ?>

<ns1:GetQuote xmlns:ns1="http://swanandmokashi.com" />

Regards,

George

Former Member
0 Kudos

Silly me, I should have just clicked on the message in the CC monitoring :

So the SOAP Body is this one:

<SOAP:Body>

<sap:Manifest xmlns:sap="http://sap.com/xi/XI/Message/30" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="wsuid-manifest-5CABE13F5C59AB7FE10000000A1551F7" />

</SOAP:Body>

It's quite unexpected, and I don't see any payload for the message. For the other interfaces I do see a payload.

Regards,

George

Former Member
0 Kudos

No! In fact that's not the message coming out of the adapter, it's the message going in to the adapter. So I don't know how to see the SOAP request. Please Suraj can you also help me with that?

Regards,

George

former_member187339
Active Contributor
0 Kudos

Hi,

Click on the MONI Step you can see the SOAP Message:

Also you need following * action = http://swanandmokashi.com/GetQuote *

So url and action is confirmed (i am seeing them in SOAP UII)

And see the raw XML:

*POST http://swanandmokashi.com/HomePage/WebServices/QuoteOfTheDay.asmx HTTP/1.1

Accept-Encoding: gzip,deflate

Content-Type: text/xml;charset=UTF-8

SOAPAction: "http://swanandmokashi.com/GetQuote"

User-Agent: Jakarta Commons-HttpClient/3.1

Host: swanandmokashi.com

Content-Length: 216*

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:swan="http://swanandmokashi.com">

<soapenv:Header/>

<soapenv:Body>

<swan:GetQuote/>

</soapenv:Body>

</soapenv:Envelope>

Hence I suggested you to keep Headers in communication channel.

Regards

Suraj

Former Member
0 Kudos

I don't get it, how do you see the outbound SOAP message in MONI?

I only see the usual XI-SOAP from XI and the payload. There isn't any reference in the SOAP message ( which contains reference to the payload) to swanandwhatever.

Well, I use the OK URL target and action, still nothing. Furthermore, my PI message is in error state on the sender and in state 1 on PI. The description for this state is Log Version in Moni.

The payload is this text:

<?xml version="1.0" encoding="UTF-8" ?>

<ns1:GetQuote xmlns:ns1="http://swanandmokashi.com" />

Regards,

George

prateek
Active Contributor
0 Kudos

This usually happens with the external webservices because PI does not have its port open for external webservices on internet. Either you have to use some webservice or intranet or make internet accessible to PI.

Regards,

Prateek

Former Member
0 Kudos

OK, then how do I make it accessible?

Thanks for the hint.