You need to sign in to do that
Don't have an account?
Arup Sarkar
calling Apex WS from java client
Hi I have the following web service in Apex.
global class AccountWebService { webService static Id makeAccount(String AccountName) { Account acct = new Account(); acct.Name = AccountName; insert acct; return acct.Id; } }
I have created the following java client in java.
package com.nb.sfdc.ws.client; import java.net.MalformedURLException; import java.net.URL; import java.rmi.RemoteException; import org.apache.axis.AxisFault; import com.sforce.soap.schemas._class.AccountWebService.AccountWebServiceBindingStub; import com.sforce.soap.schemas._class.AccountWebService.AccountWebServiceServiceLocator; public class TestWSClient { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.setProperty("http.proxyHost", "xxxxx"); System.setProperty("http.proxyPort", "80"); AccountWebServiceServiceLocator loc = new AccountWebServiceServiceLocator(); try { URL url = new URL(loc.getAccountWebServiceAddress()); AccountWebServiceBindingStub stub = new AccountWebServiceBindingStub(url,loc); stub.setUsername("xxxx"); stub.setPassword("xxxx"); stub.makeAccount("testing"); } catch (MalformedURLException e) { // TODO Auto-generated catch block System.out.println("MalformedURLException: " + e.toString()); } catch (AxisFault e) { // TODO Auto-generated catch block System.out.println("AxisFault: " + e.toString()); } catch (RemoteException e) { // TODO Auto-generated catch block System.out.println("RemoteException: " + e.toString()); } } }
I am getting the following error.
AxisFault: INVALID_SESSION_ID: Invalid Session ID found in SessionHeader: Illegal Session
Can someone please help me.
Looks like you're missing a call to login(). Take a look at this thread: http://boards.developerforce.com/t5/Java-Development/Problem-Calling-Apex-WebService-from-Java/td-p/206637
Also this post may help: http://www.chiragmehta.info/chirag/2009/08/06/salesforce-access-apex-webservices-from-javanet/
Regards, jh