cancel
Showing results for 
Search instead for 
Did you mean: 

Problem when defining a web service

Former Member
0 Kudos

Hello,

I have defined several BAPI that I am calling from an external application by exopsing those BAPI using the SOAP adaptor.

All goes well for all of them except one.

For the one having problems the Integrantion engine is routing that call to different webservice than the one I expect it to do it,

these are some of the paramenters I use when defining the web service in the Integration Builder:

Interface name: MI_BAPI_PPMSRVAPS_GETLIST

Communitcation chanel: CC_SOAP_BAPI_PPMSRVAPS_GETLIST

Address: http://sapxi:50000/xisoapadapter/messageservlet?channel=:BS_WEBSERVICE_GREYCON:CC_SOAP_BAPI_PPMSRVAP...

but instead when I test the generated wsdl using soapUI: the integration engine returns this error:

Canceled with Errors 02.06.2010 15:04:22 02.06.2010 15:04:23 [websericename] [namespace]MI_BAPI_PDSSRVAPS_GETLIST

My guess is that at some point I defined wrong the web service but I have no way to redefine it or revert how it was defined.

I redefined the webservice with correct parameters, but there is no change in behaviour.

I checked server address and port (it is the exact same of the other BAPIs that work)

Where can I see all defined web services when they are defined via the Integration builder define web service option?

How to delete a webservice published this way?

Any advise?

Any help is very much appreciated.

Regards,

Mauricio Pego

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello,

In the generated WSDL , check the SERVICE parameter . It should have the interface name to which you want send the data .

If it is not matching you can try changing the interface name manually and test it or else create new web service from the wizard for the particular interface.

Regards,

Ganesh

Answers (4)

Answers (4)

Former Member
0 Kudos

Problem solved.

I deleted all IB objects with problems and started over.

Looks like there was something wrongly defined in the SOAP Communication Channel.

Former Member
0 Kudos

The interface that is defined and I need to make it point to the correct web service returns this:

Message Servlet is in Status OK

Status information:

Servlet com.sap.aii.af.mp.soap.web.MessageServlet (Version $Id: //tc/xi/NW04S_13_REL/src/_adapters/_soap/java/com/sap/aii/af/mp/soap/web/MessageServlet.java#1 $) bound to /MessageServlet

Classname ModuleProcessor: null

Lookupname for localModuleProcessorLookupName: localejbs/ModuleProcessorBean

Lookupname for remoteModuleProcessorLookupName: null

ModuleProcessorClass not instantiated

ModuleProcessorLocal is Instance of com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0_0

ModuleProcessorRemote not instantiated

Any new web service I define returns this:

404 Not Found

SAP J2EE Engine/7.00

The requested resource does not exist.

Details: Go to main page of this application!

So I tend to believe the problem is that even thou I run the define web service wizard, XI is not creating (or replacing) anything.

0 Kudos

Hello there.

Error: 404 Not Found

Description: The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent. The 410 (Gone) status code SHOULD be used if the server knows, through some internally configurable mechanism, that an old resource is permanently unavailable and has no forwarding address. This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable.

Possible Tips:- for HTTP_RESP_STATUS_CODE_NOT_OK 404

u2022 404 is an HTTP response code that indicates that the resource in question couldn't be found. Usually this is due to an incorrect URL, so it is better to cross check all URLs. Check pipeline URL in the SLD in the business system of the Integration Server For this go to SLD->Business System-><yourIntegrtaion Server>->Pipeline URL: It should be like this http://<host>:<port>/sap/xi/engine?type=entry Where host is the host name of the Integration Server and port is the HTTP(8xxx) port. To verify this in Integration Server you can do like this. Go to SXMB_ADM->Integration Engine Configuration->Choose Edit from Menu -> Change Global Configuration Data to switch to change mode. Then select System Landscape - Load Configuration. (This is not required always)

u2022 Check that the port really is the ICM HTTP Port and not the J2EE port i.e SMICM then menu GOTO --> SERVICES and check the port number for HTTP. It should be HTTP port

u2022 If the error is Page cannot be displayed, cannot find server in https configurations Check and correct the SSL configuration for the ABAP and the J2EE side of the system

u2022 If the error is because of integration server when using Proxy communications then check these. i.e SXMB_ADM->Integration Engine Configuration->Corresponding Integration Server enrty should be dest://<Http Integration server-Destination> Where < Http Integration server -Destination > is the RFC destination (SM59) of type HTTP connection (type H) to the Integration Server. In this case, host name, port, and path prefix are saved in the RFC destination.

Try some of the recommendations that most apply to your case.

Hope it helps!

Regards,

Caio Cagnani

Former Member
0 Kudos

Thanks for your answers.

It is version 4.

The wsdl looks correct.

I tried to define a new web service but calling it I get a Not found error from the soapUI test, and no log in the RWB monitor.

I also createdn new Integration builder objects to not use the old ones with same Not found error.

Re defining the same web service makes no difference, it still uses the incorrect BAPI.

Some how the web service is registered to call the MI_BAPI_PDSSRVAPS_GETLIST interface, and I have no way to overwrite.

Can I undefine, delete or remove a web service?

I also tried to make web service for a whole new BAPI and also got the Not found error, so probably the problem is that new web services are not being defined, what can I check to discard this assumption?

It is very strange.

Thanks very much

former_member200962
Active Contributor
0 Kudos

Can you try with the below URL format:

http://<IPAddress OR ServerName>:<PORT_No>/XISOAPAdapter/MessageServlet?channel=:<SenderBusinessService>:<SenderSOAPCC>&version=3.0&Sender.Service=<SenderBusinessService>&Interface=<SenderInterfaceNamespace>%5E<SenderMI>

Not found error would mean that either you have not correctly used the names or you are pointing to incorreect objects.

Regards,

Abhishek.

former_member200962
Active Contributor
0 Kudos
Where can I see all defined web services when they are defined via the Integration builder define web service option?

If it is SAP PI7.1 then you can first publish the WS in Service Registry and then it acts as the storehouse for the WS.

How to delete a webservice published this way?

Did you publish the WS using ID --> Tools --> Display Webservice option....if yes then there is no need to delete it from anywhere.....just run the wizard again and then the WS (wsdl file) will get created once again.

Regards,

Abhishek.