cancel
Showing results for 
Search instead for 
Did you mean: 

Sender SOAP AXIS Adapter with Proxy Configurations

former_member183908
Active Contributor
0 Kudos

Hi Everyone,

I am trying to consume the REST services using SOAP AXIS sender channel and this is my first handson REST service integration which i am working on.I wanted to pull the XML file from the REST API AS IS and create an XML file without any conversion.I am referring to Michael and other blogs i don't find any clue about the proxy settings in these blogs.We have proxy configured in our organization and i need input proxy settings to access external applications.I referred to couple of notes 1578675(for receiver SOAP AXIS not for sender) and understand SOAP AXIS by default will not support for proxy similar to the standard SOAP over HTTP however in the FAQ AXIS Adapter i can see below statement but i don't understand where to add the sequence in module tab.I just tried adding first in module tab and ended up with issues like cant cast and failed to initialize

    1. How can I call some service over an HTTP proxy server?

The Axis's standard and adapter's HTTPSender and CommonsHTTPSender transport handlers recognize the  java's standard network properties (http.proxyHost, http.proxyPort, http.nonProxyHosts) for HTTP proxy settings.

Note 1578675 provides an ability to configure HTTP proxy in the channel configuration. See a sample configuration for using HTTP Proxy. The Axis channel can be configured to use an HTTP proxy with proxy authorization. See a sample configuration of the HTTP proxy with proxy authorization.

below discussion explains to set the parameters in config tool i have not tried yet

Proxy settings in Axis adapter | SCN

i am on SAP PO 7.4 SP10 and i know we have standard REST however one of my client is on PI 711 and already suggested to upgrade however as an alternative i wanted to propose this solution as well.We have REST APIs which gives XML and send it to SAP PPM and vice versa.If i test from SOAPUI i am receiving the XML file as response ONLY after proving the proxy settings.

Could someone please shed some light on this.Highly appreciate in advance.

Thanks

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Firstly nice solution.

The interface is working but you are asking that proxy you need to provide the third party to be able to get this interface working?

Is the person outside of your network trying to call the webservice within your network?

If that is so. Then your network team needs to open the relevant IP's and Port so that the outside party is able to see the webservice?

If it is a person within the network. They need to configure there application to run through the proxy and not try to go out of the network and come back in and access it. That wont work.

Does this make sense?

Regards,

Jannus Botha

former_member183908
Active Contributor
0 Kudos

Thanks for the reply.I don't have any issues with the firewall as i said in my posting i am able to consume REST services using SOAP UI and i am getting the XML/JSON format as a response however i wanted to consume the same REST services using SOAP AXIS sender channel and for that i need to configure the proxy settings in my sender channel(even to access the internet i need to provide proxy settings and login details in my org.. ).

If i test from SOAPUI i am receiving the XML file as response ONLY after proving the proxy settings.

Hope i have given the required input waiting for your valuable suggestions.

Cheers

Pawan

Former Member
0 Kudos

Hi,

Thank you for the additional information.

Did you test the Axis interface within the network using the Proxy in SOAPUi? Reason why I am asking. If you did it this way you are still within the network? I might be missing something?

Because I can also expose a Axis web service without touching the firewall, because it does not use the firewall. The server is still within in the network. Take the URL and try and call is from your phone that is not on your network?

Because in our network I also need to provide my Proxy details within the SOAPUi, without them it will try and go out of the network but it cant because it does not have access to the internet because it it is not connect to the proxy?

If that makes sense?

Maybe I am not understanding the problem. Where do you want to access this interface from?

If you want to access this interfaces within in your own network you can ask the guys to add you to the group that is able to see the IP range or add it to your host name?

Hoped this helped.

Thank you,

Jannus Botha

former_member183908
Active Contributor
0 Kudos

adding screen shots with and without proxy settings

former_member183908
Active Contributor
0 Kudos

please refer to the screen shots attached and i am not creating any REST services i wanted to consume REST API using PO and SOAP UI and PO box are in the same network.

Thanks

Former Member
0 Kudos

OK Perfect!

So on your Axis adapter under the module tab. Is this what you were looking for?

Standard SOAP receiver adapter does provide this feature in-buit, but SOAP with Axis does not.

pas     handler.type     java:com.sap.aii.axis.soap.MessageContextPropertiesHandler

pas     key.a     http.proxyHost

pas     key.b     http.proxyPort

pas     location.a     header

pas     location.b     header

pas     value.a     <proxy host>

pas     value.b     <proxy port>

Regards,

Jannus Botha

Former Member
0 Kudos

Hi,

Found this link.

Proxy settings in Axis adapter | SCN

for http:

  http.proxy.user=user

  http.proxy.password=password

  http.proxyHost

  http.proxyPort

  http.nonProxyHosts

and for https (in case you go through proxy with secure connection):

  https.proxy.user

  https.proxy.password

  https.proxyHost

  https.proxyPort

  https.nonProxyHosts

And the "nonProxyHost" parameter is separated with pipes " ", like

   "-Dhttps.nonProxyHost=domain1.com domain2.com"

Regards,

Jannus

former_member183908
Active Contributor
0 Kudos

i have already referred this settings however in my case its not receiver SOAP AXIS.

Former Member
0 Kudos

So you have added the parameters in the sender module?

Then I am out of ideas for now. Let me think about it and ask around if anyone has come across this problem.

Last thing. Have you tried using XPI Inspector and see what it picks up?

But good luck. Will drop you a message if someone else have come across this before.

Regards,

Jannus Botha

Answers (1)

Answers (1)

Former Member
0 Kudos

Hello,

You have to configure Axis sender channel to use HTTPGetter task as described in this blog article:

Per channel HTTP proxy support for HTTPGetter task is introduced with SAP Note 1788595 "HTTPGetter handler task to use per channel proxy configuration" -  check if it is available for your Netweaver version and SP level.

The "http.proxyHost" and "http.proxyPort" parameters have to be specified in the task parameters table (just where "enableREST" is specified).

Best regards,

Dimitar

former_member183908
Active Contributor
0 Kudos

Thanks for the reply i will try it and will let you know.What about the proxyusername and password.Do i need provide those details at the same connection parameters?

Cheers

Pawan

Former Member
0 Kudos

Hello,

You can use "http.proxyUser" and "pwd.http.proxyPassword" parameter to specify them. Keep in mind that only Basic Proxy Authentication is supported - if you require NTLM authentication that this will not work.

In SAP Note 1039369 “FAQ XI Axis Adapter” there is an attachment called TransportProtocolsForAxisAdapter.pdf -  in this document you will find the configuration options for various transport protocols – HTTP, SMTP, JMS, File – for Axis adapter channels with detailed description steps.

Best regards,

Dimitar

former_member183908
Active Contributor
0 Kudos

I provide all the proxy details at the connection parameters including host ,port,username and password however i am getting 407 proxy authentication required error.SAP Note 1884289  explains about the 407 issue however my current PO version is SAP PO 740 SP10.Yes i have seen the attachment however i don't find any clue about configuring proxy settings in module tab for Sender SOAP AXIS which was given for the receiver SOAP Axis adapter.any suggestions will be highly appreciated.

Adding Screen shot:

Cheers

Pawan

Former Member
0 Kudos

Hello,

You have to specify the proxy configuration under task parameters table not in the module configuration.

As i have explained earlier just below the "enaleREST" parameter:

Best regards,

Dimitar

former_member183908
Active Contributor
0 Kudos

Hi

I did the same configurations as explained in the blog and added proxy configurations under enableREST by choosing the add button.After providing those details i am getting 407 proxy authentication required error in my sender SOAP AXIS adapter as per the screen shot in my previous reply.I also referred to SAP notes etc and added the proxy settings in SAP JVM however this requires the change in the complete PI configurations which is affecting the existing setup which is not the best solution.

Please tell me do i need do any configurations at my network level?like opening gateway etc....as i said i dont have any firewall issues etc i am able to consume the same with SOAPUI.

Cheers

Pawan

former_member183908
Active Contributor
0 Kudos

i tried with NTLM from the drop down authentication mode in sender AXIS however this also did not help may be i will try the combination of NTLM mode and proxy settings under task table and will let you know.

Cheers

Pawan