Skip to Content
0
Former Member
Jun 26, 2008 at 03:45 PM

java.lang.IllegalArgumentException:

911 Views

Hi Experts,

Im trying to use a web service in my JSPDynpage. When I try to pass parameters to the method, it fails on the line below:

myService.opDSJob_ValidAcctCode(params);

The method is :

public void communicate(){

OpDSJob_ValidAcctCode params = new OpDSJob_ValidAcctCode(); 
System.err.println("printing object params  "  + params);
    	
params.setCompcode("9500");
params.setGlacct("0000400170");


try{	
	IPortalRuntimeResources runtimeResources = PortalRuntime.getRuntimeResources(); 
	IPortal_Service myService = (IPortal_Service)runtimeResources.getService(IPortal_Service.KEY); 
	System.err.println("b4 passing object to service");
	myService.opDSJob_ValidAcctCode(params);
	System.err.println("called method from service");
	}catch (Exception e) {
	e.printStackTrace();
	System.err.println("We are in Exception and got the message770: " + e.getMessage());
	}//end try catch
  }

The method in the portal service is below which is generated from the WSDL file by the Portal Service Creation wizard.

public com.abc.ws.OpDSJob_ValidAcctCodeResponse opDSJob_ValidAcctCode ( 
		com.abc.ws.OpDSJob_ValidAcctCode parameters ) {
		try {
		    HashMap httpheaders = new HashMap();
		    httpheaders.put("soapaction","\"\"");

		    XMLAttributeHandler params = new XMLAttributeHandler();
		    params.addAttribute("parameters", new SOAPParameter(null,com.abc.ws.OpDSJob_ValidAcctCode.class,parameters));

			String aUrl = "http://10.92.8.146:9080/wisd/CodeMatch/ValidateCodes";
			if(mm_urlEndpoint!=null)
			{
				 aUrl = mm_urlEndpoint;
			}
			IUserContext aUser = null;
			String systemAlias = null;
			if(mm_isClone)
			{
				 aUser = mm_userCxt;
				 systemAlias = mm_serviceContext.getServiceProfile().getProperty(ISOAPParamConstants.SYSTEM_ALIAS);
			}
			IPRTSOAPCall mm_soapcall = mm_soapService.getSOAPCallInstance(httpheaders,aUrl,IPortal_Service.KEY, mm_namespaceURI);

			mm_cookiesFromResponse =null;
			if (mm_cookies.size()>0){
				Enumeration enumeration = mm_cookies.elements();
				while (enumeration.hasMoreElements())
				{
					Object element = (Object) enumeration.nextElement();
					if (checkTypeObject(element))
						mm_soapcall.addCookie(element);
				}
			}

		    com.abc.ws.OpDSJob_ValidAcctCodeResponse result = (com.abc.ws.OpDSJob_ValidAcctCodeResponse)mm_soapcall.invokeMethod("opDSJob_ValidAcctCode", params,"http://ValidateCodes.CodeMatch.isd.icm.com/soapoverhttp/", aUser, systemAlias);
			mm_cookiesFromResponse = mm_soapcall.getCookiesContainInResponse();
			mm_soapcall = null;

		    return result;
		} catch (Exception soapex) {

		    if ( soapex instanceof PRTFault) {
			Object excp = ((PRTFault)soapex).throwException();
			throw (PRTFault)soapex;
		    }else
		       throw new PRTFaultInternalError(this,soapex);
		}
		finally{
			mm_cookies.clear();
		}
	 }

This is the error log.


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.aig.ws.Portal_Service.opDSJob_ValidAcctCode(Portal_Service.java:166)
	at com.aig.DemoJSPDynpage_WS$DemoJSPDynpage_WSDynPage.communicate(DemoJSPDynpage_WS.java:83)
	at com.aig.DemoJSPDynpage_WS$DemoJSPDynpage_WSDynPage.doInitialization(DemoJSPDynpage_WS.java:46)
	at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:105)
	at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:134)
	at com.sapportals.portal.prt.component.AbstractPortalComponent.doPreview(AbstractPortalComponent.java:240)
	at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:168)
	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:645)
	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:524)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:407)
	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:401)
	at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
	at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
	at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
	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:102)
	at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
java.lang.IllegalArgumentException: The SOAP Action "" include in the soap request not corresponding to the Portal service method.#

Any ideas on what is going wrong?

Regards,

S.B