on 09-02-2015 1:15 PM
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
- 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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
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
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
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
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
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
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.