cancel
Showing results for 
Search instead for 
Did you mean: 

Configuration of host/port for a webservice in SOA Manager

Former Member
0 Kudos

Hello Everybody,

we've implemented some webservices on WAS ABAP (NW 7.0, SP 20) and configured the corresponding endpoints with SOAMANAGER. Everything works fine with the default host. The wsdl can be generated and consuming the webservice is successful.

Now we want to provide the services on dedicated ports different from the default host. For example, webservice A is reachable on port 8000, webservice B is reachable on port 8010.

Prior to NW 7.0 it was possible to configure the virtual host with the adequate port settings in the transactions WSADMIN and WSCONFIG.

But how to configure the host/port for a service with transaction SOAMANAGER?

I've read documentation, notes and forum posts and found a lot about different profiles, proxy settings and web dispatcher configuration. But nothing covered the requirement.

Can anyone throw a light on this and close the gap in my knowledge?

Thanks in advance and best regards,

CW

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi CW,

The Virtual Hosts concept still exists in NW 7.0:

[http://help.sap.com/saphelp_nw70/helpdata/en/85/5c543aa24b511ce10000000a11402f/frameset.htm]

Regards, Trevor

Former Member
0 Kudos

Hi Trevor,

thank you for your reply.

My problem is not to create the virtual host, but to bind the webservice to it.

Actually i tried the following:

- create new virtual host with adequate port settings

- configure endpoint for webservice in SOAMANAGER

- create path /srt/rfc/sap/ as new sub-services of new virtual host

- define CL_SOAP_HTTP_EXTENSION as handler in node /rfc/ (analog to default host)

- copy the desired ICF-service including all sub-services from default host to new host

The result was:

- the new service is not showing up in SOAMANAGER to configure an endpoint

- wsdl is still pointing to the default host

- when I try to consume the webservice on the new port, I get an error message:

HTTP/1.1 500 SRT: Unexpected failure in SOAP processing occurred: ("No configuration for this HTTP server instance")

I'm sure, that the new port can be reached (tested with bsp-service) and that there are no authorizations missing (if SAP_ALL and SAP_NEW are sufficient).

Any ideas how to solve the problem or suggestions, what else to try?

Thanks again an best regards,

CW

Former Member
0 Kudos

Hi CW,

I was going to suggest turning the ICF Recorder on in TCode SICF & then passing through a test request to the new host service & see the results but then I came across this useful help documentation on SAP Help:

[http://help.sap.com/saphelp_nw04/helpdata/en/36/020d3a0154b909e10000000a114084/frameset.htm]

Maybe testing the HTTP request handler through TCode SICF first might be a good starting point. The Troubleshooting guide link towards the bottom seems like it could just help you find what's missing.

Regards, Trevor

Former Member
0 Kudos

Hi Trevor,

thanks again for your answer and the hint to the troubleshooting guide.

Everything is fine with the virtual host and the request handling. All parameters are correct. Parsing the URL points to the correct service and the request is handled by the appropriate handler CL_SOAP_HTTP_EXTENSION.

Debugging the handler shows that the webservice configuration is incomplete. The binding based on host/port, protocol, URL, etc. can't be identified (class CL_SRT_WSP_RT_CONFIG, method CREATE_FROM_HTTP_SERVER). At least there are missing entries in table SRT_CFG_ARV_ASGN. For the default host the handler execution is successful. All relevant entries are there.

So it is still the question how to configure the webservice properly and create a transport binding to another port than the default.

It was possible in transaction WSADMIN. Now I need to to the configuration with SOAMANAGER.

Best regards,

CW

Former Member
0 Kudos

Hello Everybody,

meanwhile we have the confirmation by SAP's support, that it is not possible to use virtual hosts different from the default host in the new webservice runtime enviroment.

Best regards,

CW

Former Member
0 Kudos

Hi CW

For test purpose i can do it works.

The key point is create the proper entry in the table SRT_CFG_SRV_ASGN that refer to the correct VIRTUAL_HOST.

When you genreate the endpoint of the service with soamanager, the system generate an entrty in this table with the fiel VIRTUAL_HOST = 0, you can copy this entry and change only two fields.

VIRTUAL_HOST = <the number of your virtual host>

HASH --> you can calculate this field with the FM CALCULATE_HASH_FOR_CHAR, in the parameter DATA contatenate the content of the fiels VIRTUAL_HOST and URL (be careful with the upercase), this function module return you the hash.

(First you have to replicate the icf tree that soamanager create under your virtual host tree)

With this configuration i can call to my WS over the virtual host, using soaui.

Regards

diego

richard_deguara2
Discoverer
0 Kudos

Hi Diego,

I am currently implementing a virtual host in our SAP environment and am facing the exact same problem as described in this thread. I have implemented your recommended changes to the SRT_CFG_SRV_ASGN table and this has resolved the issue. The question I have is whether this approach is approved by SAP for production environment. I have asked the same of SAP but have not got a reply. They only state that the ICF tree is only updated in the default host. I am wondering if there is any alternative to this appraoch in the current version of SAP. We are currently on SAP R/3 Kernel release 7.40 EHP 7 for SAP ERP 6.0.

Regards,

Richard