cancel
Showing results for 
Search instead for 
Did you mean: 

Consuming PI webservices in JAVA using AXIS

Former Member
0 Kudos

Hi,

I am trying to consume a PI 7.1 web service in java using AXIS framework. I am able to send the request to PI server but am getting an error saying "Receiver determination failed". I checked the packets and understood that the sender service value is not populated. Did any one ever faced such problem ?

I think consuming the PI webservices using NWDS CE 7.1 will help. As i need to call this web service from a different java application, i need to copy all the run time references. Is it possible to do that ?

I am totally blocked at this point. So, any kind of input is appreciated.

Thanks,

Prasad.

Accepted Solutions (1)

Accepted Solutions (1)

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

Make sure you are POSTing to the Axis URL:

http(s)://host:port/XIAxisAdapter/MessageServlet?senderService=yourSenderService&interface=yourSenderInterface&interfaceNamespace=yourInterfaceNamespace

Hope this helps,

Mark

Former Member
0 Kudos

Thanks !! Looks this is going to help me. I am not using the AXIS webservice link. The URL looks like following:

https://hostname/sap/xi/engine?type=entry&version=3.0&Sender.Service=BS_Soap_JDBC&Interf...

How can i get the AXIS related webservice URL ? I got this by exposing my service interface as WSDL.

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

How can i get the AXIS related webservice URL ? I got this by exposing my service interface as WSDL.

Make sure your Axis is correctly deployed, you can do this by replacing the URL I mentioned with actual values and then opening it using IE.

The URL you mentioned will directly connect to the integration engine. Alternatively, you can also use:

http(s)://host:port/XISOAPAdapter/MessageServlet?channel=p:s:c where p = party, s=service and c = communication channel.

Note that for both the Axis and SOAP URLs, you need a corresponding sender agreement for them to work.

Hope this helps,

Mark

Former Member
0 Kudos

Hi Mark,

As you said, i changed the web service URL in the two ways you mentioned. I got an internal server error at runtime in my web service client.

When i tried to check the URLs from browser, i got Axis Adapter Message Servlet error page saying few required components are missing. The JARS are present at my web service client side. So, i think the PI side should also have the required jars at its end. Am i correct ?

In that case, i need to check with our PI administration team to install the SOAP Axis Adapter.

Please correct me if i am wrong.

Thanks,

Prasad.

rajasekhar_reddy14
Active Contributor
0 Kudos
Former Member
0 Kudos

Mark / Raja Shekar,

Our BASIS team is not willing to go for the upgrade and they are asking for approvals from all the stakeholders. This might take another couple of weeks to upgrade. So, i am trying out my hands in some other web services.

I am able to consume another PI web service in java without any changes at PI and JAVA. So, I am pleasantly surprised.

I don't see any visible changes in both the web services / WSDLs other than the input /output structures. Any idea why is it working with one web service but not the other.

Thanks,

Prasad.

rajasekhar_reddy14
Active Contributor
0 Kudos

AXIS frame work required addtional Jar files to be delployed on PI server, without AXIS you can consume Web Services(using SOAP ) in this case you dont required any Jar filles.

I am able to consume another PI web service in java without any changes at PI and JAVA

I think you are not using AXIS frame work here to consume web services.

Regards,

Raj

Answers (1)

Answers (1)

Former Member
0 Kudos

I am not sure what exactly you mean by "i am not consuming AXIS web services".

1) Our PI team created web services using SOAP Adapter.

2) Build java client stub using AXIS framework.

3) First tried to consuming web services by passing the web service URL externally from my program. Got an exception called "Receiver determination failed".

4) Later changed the java client code to not to pass the web service URL to the AXIS stub methods. The end point of URL mentioned in the WSDL file will be copied here automatically.

So, i did not pass the URL explicitly. Now things started working.

Hope this helps others with similar problem.

Former Member
0 Kudos

Hello Prasad,

I am stuck with an issue in getting the Axis running for sender channel and posted a query for the same:

Can you please visit the above link and help me confirm if the message format is correct? If not correct then can you please let me know what should be the message format (sample would do) for testing?

Looking forward for your help.

Thank you!