cancel
Showing results for 
Search instead for 
Did you mean: 

portal service from a web service not working

lokesh_kamana
Active Contributor
0 Kudos

Hi all,

I created a portal service from web service and i am tryiong to use that in my portal component.

when i am running the portal component i am getting the following error

Exception:-

java.lang.IllegalArgumentException: The SOAP Action "" include in the soap request not corresponding to the Portal service method.

I had an argument which I have to pass


try
    	{
    	
	IPortalRuntimeResources youm = PortalRuntime.getRuntimeResources();
	IService sexy = youm.getService(IServiceFinal.KEY);
	Getempname namr = new Getempname();
	namr.setEmpno("1");
	
	GetempnameResponse someb = new GetempnameResponse();
	IServiceFinal fina = (IServiceFinal)sexy;
	//I am getting error at this statement.There is some problem with my argument i am passing
        someb = fina.getempname(namr);
	someb.getResponse();
    	}
    	catch (Exception e) {
		// TODO: handle exception
		response.write(e.getLocalizedMessage());
		}

I have checked my web service in web service checker.

I am getting response its working fine there.

I am pasting the xml code

request:-Here i am giving input as 1 here for that method


<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bns0="urn:lokws89Wsd/Config1/document" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/">
  <SOAP-ENV:Body>
    <ns0:getempname xmlns:ns0="urn:lokws89Vi">
      <ns0:empno>1</ns0:empno>
    </ns0:getempname>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope></SOAP-ENV:Envelope>

response:- I am able to get teh desired response lokesh here.


<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <SOAP-ENV:Body>
    <rpl:getempnameResponse xmlns:rpl="urn:lokws89Vi">
      <rpl:Response>lokesh</rpl:Response>
    </rpl:getempnameResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Please let me know why i am not getting this argument exception when i am passing the same argument string there.

Thanks & Regards,

Lokesh

Accepted Solutions (1)

Accepted Solutions (1)

lokesh_kamana
Active Contributor
0 Kudos

Hi all, Any solution

Former Member
0 Kudos

Hi Lokesh,

Kindly refer to this thread which might help you.

Hope it helps.Award points if found helpful.

Regards,

Gourav.

Former Member
0 Kudos

Lokesh,

Herez how I fixed it, I hope it should fix your problem too. If not then paste the error trace here:

In your Portal Service (The CLASS that is generated by NWDS, and the one that you use to communicate with the web service ) you will find a method that takes input and returns output to your Portal component.

In that method, search for :

HashMap httpheaders = new HashMap();

and replace:

		  httpheaders.put("soapaction","\"\""); 

by

		  httpheaders.put("soapaction","");  

The reason being the parameters to httpheader are not being passed as it required.

Also, what Portal Version and SP level are you on? Above SP 13 (I guess), Portal Services are no longer supported, you will have to use JAVA Proxies. You might have to upgrade your NWDS to a SP level compatible with your Portal Server SP Level if your are on NW2004s and SP 14 and/or above,

Let me know how it goes.

SB

Answers (3)

Answers (3)

lokesh_kamana
Active Contributor
0 Kudos

Hi,

Any solution for this?

lokesh_kamana
Active Contributor
0 Kudos

Hi

No Answer.

Or my question is not clear.

Plesae help to resolve my issue.

Thanks & Regards,

Lokesh

lokesh_kamana
Active Contributor
0 Kudos

I am also pasting the stack trace for your reference

#1.5#02004C4F4F5000530000026500000DE8000456F37C5575CA#1221503669875#com.sap.portal.portal#sap.com/irj#com.sap.portal.portal#Administrator#268#####SAPEngine_Application_Thread[impl:3]_10##0#0#Warning#1#/System/Server#Java###Call failed

[EXCEPTION]

#1#java.lang.IllegalArgumentException: The SOAP Action "" include in the soap request not corresponding to the Portal service method.

at com.sapportals.portal.prt.service.soap.element.PRTSOAPBodyElement.processParams(PRTSOAPBodyElement.java:253)

at com.sapportals.portal.prt.service.soap.element.PRTSOAPBodyElement.init(PRTSOAPBodyElement.java:190)

at com.sapportals.portal.prt.service.soap.element.PRTSOAPBodyElement.<init>(PRTSOAPBodyElement.java:56)

at com.sapportals.portal.prt.service.soap.element.PRTSOAPBody.init(PRTSOAPBody.java:94)

at com.sapportals.portal.prt.service.soap.element.PRTSOAPBody.<init>(PRTSOAPBody.java:36)

at com.sapportals.portal.prt.service.soap.element.PRTSOAPEnvelope.init(PRTSOAPEnvelope.java:113)

at com.sapportals.portal.prt.service.soap.element.PRTSOAPEnvelope.<init>(PRTSOAPEnvelope.java:54)

at com.sapportals.portal.prt.service.soap.element.PRTSOAPMessage.processSOAPMessage(PRTSOAPMessage.java:58)

at com.sapportals.portal.prt.service.soap.element.PRTSOAPMessage.<init>(PRTSOAPMessage.java:40)

at com.sapportals.portal.prt.service.soap.SOAPService.call(SOAPService.java:180)

at com.sapportals.portal.prt.service.soap.PRTSOAPCall.invokeMethod(PRTSOAPCall.java:209)

at com.company.global.enterprise.portal.wsdl.webservices.service.packagename.Servicews.getempname(Servicews.java:166)

at com.loki.use_ws.doContent(use_ws.java:28)

at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)

at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)

at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)

at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)

at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:646)

at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)

at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)

at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)

at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)

at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)

at java.security.AccessController.doPrivileged(Native Method)

at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)