Calling .asmx Web Service from Java Client
hi
I have created one java client in WSAD 5.1 to invoke .asmx web service. I have used the following code for it.
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import javax.xml.namespace.QName;
import javax.xml.rpc.NamespaceConstants;
import javax.xml.rpc.ParameterMode;
import java.net.URL;
public class JavaWS3
public static void main(String [] args)
try
// Responds the same with or without the ?WSDL
String strEndPoint = "http://www.meizlik.com/Service.asmx";
String strSoapAction = "http://www.meizlik.com/BigAdd";
String strSchemaURL = "http://www.w3.org/2001/XMLSchema";
String strParamName1 = "addend_1";
String strParamName2 = "addend_2";
String strParameterVal1= "10";
String strParameterVal2= "7";
String strFunctionName = "BigAdd";
//Call call = (Call) new Service().createCall();//Works
//Call call = new Call(strSoapAction);//Works same
//Call call = new Call(strEndPoint);//Works same
Service service = new Service();
Call call= (Call) service.createCall();
call.setEncodingStyle(NamespaceConstants.NSURI_SOAP_ENCODING);
call.setTargetEndpointAddress(new URL(strEndPoint));
// first parameter in QName seemingly takes ANYTHING
call.setOperationName(new QName("http://www.meizlik.com", strFunctionName));
// Set the name of the parameter and the return type
call.setReturnType(XMLType.XSD_STRING);
call.addParameter(new QName("http://www.meizlik.com",strParamName1), XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter(new QName("http://www.meizlik.com",strParamName2), XMLType.XSD_STRING, ParameterMode.IN);
// Catch the result and print it
// Parameter count is now ONE (1).
// call.setUseSOAPAction(true);//Not Necessary
call.setSOAPActionURI(strSoapAction);//Yes Necessary
String strResult = (String) call.invoke(
new Object[] {
new String(strParameterVal1),
new String(strParameterVal2)
System.out.println("Result='" + strResult + "'");
catch (Exception e)
e.printStackTrace();
System.out.println(e.toString());
}this code is giving me the exception as :
java.net.ConnectException: Operation timed out: connect due to invalid addressI visited web service URL http://www.meizlik.com/Service.asmx and its working fine.
I also tried Java Proxy method in WSAD 5.1 but it is showing me the same error.
Where am I wrong? Can anyone plz give me solution 4 this.
Thanks..
Hi,
I have even generated folowing code with SoaMoa, it is perfect. Please try SoaMoa it is a useful tool.
The generated code of SoaMoa :
/* Generated Testcase by SoaMoa, :ridvan at Thu Jun 04 21:53:14 CEST 2009 */
import java.util.Map;
import javax.xml.namespace.QName;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPConstants;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPMessage;
import javax.xml.soap.SOAPPart;
import javax.xml.ws.Dispatch;
import javax.xml.ws.Service;
import javax.xml.ws.BindingProvider;
import javax.xml.ws.soap.SOAPBinding;
import java.util.Iterator;
import junit.framework.TestCase;
public class BigAddTest extends TestCase {
public void testBigAdd() throws Exception {
String endpointURL = "http://www.meizlik.com/Service.asmx";
QName serviceName = new QName("http://www.meizlik.com", "Bob_Services");
QName portName = new QName("http://www.meizlik.com", "Bob_ServicesHttpPost");
Service service = Service.create(serviceName);
service.addPort(portName, SOAPBinding.SOAP11HTTP_BINDING, endpointURL);
Dispatch<SOAPMessage> dispatch = service.createDispatch(portName, SOAPMessage.class, Service.Mode.MESSAGE);
BindingProvider bindingProvider = (BindingProvider) dispatch;
// Optionally Configure RequestContext to send SOAPAction HTTP
Map<String, Object> rc = bindingProvider.getRequestContext();
rc.put(BindingProvider.SOAPACTION_USE_PROPERTY, Boolean.TRUE);
rc.put(BindingProvider.SOAPACTION_URI_PROPERTY, "http://www.meizlik.com/BigAdd");
MessageFactory messagefactory = MessageFactory.newInstance(SOAPConstants.SOAP_1_1_PROTOCOL);
SOAPMessage request = messagefactory.createMessage();
SOAPPart part = request.getSOAPPart();
SOAPEnvelope env = part.getEnvelope();
SOAPBody body = env.getBody();
body.addNamespaceDeclaration("www", "http://www.meizlik.com");
SOAPElement BigAdd = body.addChildElement("BigAdd", "www");
SOAPElement addend_1 = BigAdd.addChildElement("addend_1", "www");
addend_1.addTextNode("11");
SOAPElement addend_2 = BigAdd.addChildElement("addend_2", "www");
addend_2.addTextNode("11");
request.saveChanges();
SOAPMessage response = dispatch.invoke(request);
SOAPBody replyBody = response.getSOAPBody();
SOAPElement BigAddResponse = (SOAPElement) replyBody.getChildElements(new QName("http://www.meizlik.com", "BigAddResponse")).next();
assertNotNull( "BigAddResponse is null", BigAddResponse);
SOAPElement BigAddResult = (SOAPElement) BigAddResponse.getChildElements(new QName("http://www.meizlik.com", "BigAddResult")).next();
assertNotNull( "BigAddResult is null", BigAddResult);
assertEquals("BigAddResult", "0000000000000000000000000022", BigAddResult.getTextContent());
}
Similar Messages
-
Calling a Web Service from Java
Our java guru (who is out sick....AHHHH) created all the calls that are needed to access the web service that he has running. For example the call getLongList(String user, String password) will return a list of all outstanding transactions. He made a jar file that has service has class files for PortType, Service, Service Locator and Soap Binding stub.
How do I call this web service from java? Do I have to import it into my classpath? or just call these parameters from within my java code?never mind...i got it
-
Calling a Web Service from Java Webdynpro
Hi,
Can any one give me step by setp details on how to call a Web Service from Java Webdynpro ?
I tried creating a model using Import Web Service Model but when I completed creating the model, I got some errors as shown below.
Error The method setRouteGeometryLineArray(double[][]) in the type Trip is not applicable for the arguments (double[]) ComplexType_Trip.java WS_INVOKE/gen_wdp/packages/com/cintas/test/model/p1 line 249
thanks
SBKHi SBK,
I assume you may already have read the [help guide|http://help.sap.com/saphelp_nw70/helpdata/EN/81/12703e5da3e946e10000000a114084/content.htm] This gives a pretty good idea of how to do it (step by step).
Is there a typo in the error you pasted?
Error The method setRouteGeometryLineArray(double][) in the type Trip is not applicable for the arguments (double[]) ComplexType_Trip.java WS_INVOKE/gen_wdp/packages/com/cintas/test/model/p1 line 249
The square brackets [] after double in the method call appear to be reversed. Is that also in the code? or just a mistake here?
Hope this points you in the right direction.
BRgds,
Simon -
Error invoking Web Service from Java client
Hi
I have created an ALSB Proxy service and exposed it as a web service. I have created a Java Client the code for which is pasted below:
String ENCODING_STYLE_PROPERTY = "javax.xml.rpc.encodingstyle.namespace.uri";
String URI_ENCODING = "http://schemas.xmlsoap.org/soap/encoding/";
String url = "http://localhost:7001/Dummy_ALSB_Project/proxy/Dummy_Proxy_Service?WSDL";
String TARGET_NAMESPACE = "http://www.bea.com/servers/wls810/samples/examples/webservices/handler/log";
QName xsdString = new QName("http://www.w3.org/2001/XMLSchema", "string");
ServiceFactory factory = ServiceFactory.newInstance();
QName serviceName = new QName(TARGET_NAMESPACE, "LogHandler");
QName portName = new QName(TARGET_NAMESPACE, "ProcessSoap");
QName operationName = new QName("writeCustNameToFile");
Service service = factory.createService(serviceName);
Call call = service.createCall();
call.setPortTypeName(portName);
call.setOperationName(operationName);
call.addParameter("param0", xsdString, ParameterMode.IN);
call.setProperty(ENCODING_STYLE_PROPERTY,URI_ENCODING);
call.setProperty(Call.SOAPACTION_USE_PROPERTY, new Boolean(true));
call.setProperty(Call.SOAPACTION_URI_PROPERTY,"");
//set end point address
call.setTargetEndpointAddress(url);
call.invoke(new Object[]{ "The Joshua Tree" });
When I run the service, I get the following error:
java.rmi.RemoteException: BEA-380001: Internal Server Error
at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:524)
at TC.methodB(TC.java:67)
at TC.main(TC.java:9)
Any clues about what is going wrong?? Thanks in advance.It's recommended to use the same verison of client and service.
-
How to access .asmx Web Service using JAVA? Newbie
Hello Experts,
Currently, I have a project where in I have to access a ,NET web service. It is made of C#. I just want to ask how will I start the accessing process? I made this simple equation on how my project is.
Java Project + C#.Net Web Service = Integration
1. Do i need to create a Web Service too for the Java Project? If yes, What are the necessary tools needed for the creation of this Java Web Service?
2. The .NET Web Service is available online. (It is made by other people).
3. Based on the equation, what is the equivalent technology for the + sign?
4. Can you site a concrete example for accessing a web service?
5. I'm new here. Totally I have no idea where to start.
6. Thank you experts.
Edited by: Benedict.Aluan on 05 30, 08 1:38 PM
Edited by: Benedict.Aluan on 05 30, 08 1:39 PMHello
Thanks a lot for your help ...
I am developing simple J2EE based web service client using IBM WSAD 5.1. I have used the following code to call .asmx web service in Java
String url = "http://www.w3schools.com/webservices/tempconvert.asmx?wsdl";
String namespace = "http://tempuri.org/";
name = request.getParameter("txtName");
try
System.out.println("In Internet Service");
ServiceFactory factory = ServiceFactory.newInstance();
Service serv = factory.createService(new URL(url),new QName(namespace,"TempConvert"));
System.out.println("Got Service......");
Call obj = (Call)serv.createCall();
System.out.println("Got Call......");
obj.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY,"");
obj.setProperty(Call.OPERATION_STYLE_PROPERTY,"wrapped");
obj.setTargetEndpointAddress(url);
obj.setPortTypeName(new QName(namespace,"TempConvertSoap"));
obj.setOperationName(new QName(namespace,"FahrenheitToCelsius"));
obj.addParameter("param1",XMLType.XSD_STRING,String.class,ParameterMode.IN);
obj.setReturnType(XMLType.XSD_STRING);
System.out.println("Parameters Set.....");
Object[] params = new Object[]{name};
k = (String)obj.invoke(params);
System.out.println("Result: "+k);
catch(Exception e)
System.out.println("Exception is : "+e);
}But this code is throwing exception that
Invalid Address "http://www.w3schools.com/webservices/tempconvert.asmx?wsdl"I have also tried this URL with Java Proxy. But it showing the same error.
Plz can u tell me how to access .asmx web service ?
Waiting 4 reply. -
Unable to call a web service from BPEL Project
I am running my BPEL PM on Windows XP SP3. The platform is weblogic 9.2, SOA 10.1.3.1.
I created a simple BPEL project to call a web service and when I run the project from BPELConsole I getting the following error:
exception on JaxRpc invoke: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 407 Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy filter is denied. )
I am able to call this web service from soapUI client.
Any help or hint is appreciated.
ThanksI have had this issue before when calling a .NET service, it was firewall related. I didn't actually make the fix so I can't tell you exactly how it was fixed on the server. I hope this info makes sense as this this the info I got from the IT boys
I’ve install this tool on your computer:
http://www.microsoft.com/downloads/details.aspx?FamilyID=05C2C932-B15A-4990-B525-66380743DA89&displaylang=en
which does that:
Firewall Client for ISA Server can be optionally installed on client computers protected by Microsoft ISA Server. Firewall Client for ISA Server provides enhanced security, application support, and access control for client computers. It provides authentication for Winsock applications that use TCP and UDP, supports complex secondary protocols, and supplies user and application information to the ISA Server logs.
When a client computer running Firewall Client for ISA Server makes a request, the destination is evaluated by the Firewall Client software, and external requests are directed to the ISA Server computer for handling. No specific routing infrastructure is required. Firewall Client sends user information transparently with each request, enabling you to create a firewall policy on the ISA Server computer with rules that use the authentication credentials presented by the client. ISA Server allows you to configure automatic discovery for Firewall client computers, using a WPAD entry in DNS or DHCP to obtain correct Web proxy settings for clients, depending on their location.
and I’ve added a exception in IE to the tools-lan settings-advanced-exceptions to be creditworks.* Did this by modifying the GPO that applies to your account, so all the users in National Office should have that exception.
hope you can use this.
cheers
James -
Problems calling external Web Service from a Java Stored Procedure
I'm using a sample code that I found here about calling external web services from a Java Store Procedure ( Credit Agency Web Service http://www.oracle.com/technology/sample_code/tech/java/jsp/samples/wsclient/Readme.html ) but when I run it ,send this error. I dont know what can I do or what is missing. Please help me. Thanks.
Error: Premature EOF encountered [java.io.EOFException] [SOAPException: faultCode=SOAP-ENV:IOException; msg=Premature EOF encountered; targetException=java.io.EOFException: Premature EOF encountered] at org.apache.soap.SOAPException.(SOAPException.java:77) at oracle.soap.transport.http.OracleSOAPHTTPConnection.send(OracleSOAPHTTPConnection.java:765) at org.apache.soap.rpc.Call.invoke(Call.java:261) at oracle.otnsamples.wsclient.CreditAgencyServiceStub.authorizeCustomer(CreditAgencyServiceStub.java:84) at Products.jspService(Products.jsp:120) at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:139) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:349) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:795) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:794) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192) at java.lang.Thread.run(Thread.java:534)I'm also facing problem in running the example on the page http://www.oracle.com/technology/sample_code/tech/java/jsp/samples/wsclient/Readme.html
I've Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 and Oracle Application Server 10g (10.1.3). When I executed the following command,
loadjava -thin -user sys/password@localhost:1521:oradb -resolve -synonym -verbose -grant public %OC4J_HOME%/webservices/lib/soap.jar %OC4J_HOME%/lib/dms.jar %OC4J_HOME%/jlib/javax-ssl-1_1.jar %ORACLE_HOME%/lib/servlet.jar %OC4J_HOME%/j2ee/home/lib/mail.jar
... mentioned in step 3 under the "Configuring the Application" section on the above link, the process terminates with the following error
The following operations failed
class oracle/net/www/protocol/https/Handler: resolution
class oracle/net/www/protocol/https/HttpsURLConnection: resolution
class oracle/soap/client/ProviderManagerClient: resolution
class oracle/soap/client/ServiceManagerClient: resolution
class oracle/soap/providers/JavaProvider: resolution
class oracle/soap/providers/ejbprov/EntityEJBProvider: resolution
class oracle/soap/providers/ejbprov/StatefulEJBProvider: resolution
class oracle/soap/providers/ejbprov/StatelessEJBProvider: resolution
class oracle/soap/providers/sp/SpProvider: resolution
class oracle/soap/server/http/SOAPServlet: resolution
class oracle/soap/transport/http/OracleSOAPHTTPConnection$1: resolution
class oracle/soap/transport/http/OracleSOAPHTTPConnection: resolution
class org/apache/soap/messaging/Message: resolution
class org/apache/soap/rpc/Call: resolution
class org/apache/soap/rpc/RPCMessage: resolution
class org/apache/soap/rpc/Response: resolution
class javax/net/DefaultServerSocketFactory: creation (createFailed)
class javax/net/DefaultSocketFactory: creation (createFailed)
class javax/net/ServerSocketFactory: creation (createFailed)
class javax/net/SocketFactory: creation (createFailed)
class javax/net/ssl/DefaultSSLServerSocketFactory: creation (createFailed)
class javax/net/ssl/DefaultSSLSocketFactory: creation (createFailed)
class javax/net/ssl/HandshakeCompletedEvent: creation (createFailed)
class javax/net/ssl/HandshakeCompletedListener: creation (createFailed)
class javax/net/ssl/SSLException: creation (createFailed)
class javax/net/ssl/SSLHandshakeException: creation (createFailed)
class javax/net/ssl/SSLKeyException: creation (createFailed)
class javax/net/ssl/SSLPeerUnverifiedException: creation (createFailed)
class javax/net/ssl/SSLProtocolException: creation (createFailed)
class javax/net/ssl/SSLServerSocket: creation (createFailed)
class javax/net/ssl/SSLServerSocketFactory: creation (createFailed)
class javax/net/ssl/SSLSession: creation (createFailed)
class javax/net/ssl/SSLSessionBindingEvent: creation (createFailed)
class javax/net/ssl/SSLSessionBindingListener: creation (createFailed)
class javax/net/ssl/SSLSessionContext: creation (createFailed)
class javax/net/ssl/SSLSocket: creation (createFailed)
class javax/net/ssl/SSLSocketFactory: creation (createFailed)
class javax/security/cert/Certificate: creation (createFailed)
class javax/security/cert/CertificateEncodingException: creation (createFailed)
class javax/security/cert/CertificateException: creation (createFailed)
class javax/security/cert/CertificateExpiredException: creation (createFailed)
class javax/security/cert/CertificateNotYetValidException: creation (createFailed)
class javax/security/cert/CertificateParsingException: creation (createFailed)
class javax/security/cert/X509Certificate: creation (createFailed)
exiting : Failures occurred during processing
I've checked the path to all the jar files.
I tried to run the command again with system/password instead sys/password but then I got the following stacktrace:
The following operations failed
class oracle/net/www/protocol/https/Handler: resolution
class oracle/net/www/protocol/https/HttpsURLConnection: resolution
class oracle/soap/client/ProviderManagerClient: resolution
class oracle/soap/client/ServiceManagerClient: resolution
class oracle/soap/providers/JavaProvider: resolution
class oracle/soap/providers/ejbprov/EntityEJBProvider: resolution
class oracle/soap/providers/ejbprov/StatefulEJBProvider: resolution
class oracle/soap/providers/ejbprov/StatelessEJBProvider: resolution
class oracle/soap/providers/sp/SpProvider: resolution
class oracle/soap/server/http/SOAPServlet: resolution
class oracle/soap/transport/http/OracleSOAPHTTPConnection$1: resolution
class oracle/soap/transport/http/OracleSOAPHTTPConnection: resolution
class org/apache/soap/messaging/Message: resolution
class org/apache/soap/rpc/Call: resolution
class org/apache/soap/rpc/RPCMessage: resolution
class org/apache/soap/rpc/Response: resolution
exiting : Failures occurred during processing
Thanks in advance for any useful help.
- -
HELP!!! Problem of Calling external Web Service from a Java Stored Procedur
1.I read the topic on http://www.oracle.com/technology/sample_code/tech/java/jsp/samples/wsclient/Readme.html about Calling external Web Service from a Java Stored Procedur.
2.After I import .jar to Oracle what is required by the topic,som error occued.
Like: ORA-29521: javax/activation/ActivationDataFlavor class not found,
ORA-29545: badly formed class.
3.These is not enough .jar required on the topic? What can I do for ORA-29545: badly formed class?
Thany you!Try this
Re: HELP! Loading Java Classes into Oracle ERROR -
Error while calling a Web Service from a Session Bean
I am trying to call a Web Service from a Session Bean using an Axis client, but I am getting the next exception:
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.RemoteException: org/apache/axis/client/Service
at com.sun.corba.ee.internal.javax.rmi.CORBA.Util.wrapException(Util.java:364)
at javax.rmi.CORBA.Util.wrapException(Util.java:277)
at com.ing.mx.seguros.siniestros.litigios.ejb._SisaServiceRemote_Stub.invocarWebSericeProveedorLegal(Unknown Source)
at com.ing.mx.seguros.siniestros.litigios.proxy.SisaWsProxy.solicitarApoyoLegal(SisaWsProxy.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:402)
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:309)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:333)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:481)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:323)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:854)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardWrapperValve.java:720)
at org.apache.catalina.core.StandardWrapperValve.access$000(StandardWrapperValve.java:118)
at org.apache.catalina.core.StandardWrapperValve$1.run(StandardWrapperValve.java:278)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:274)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:212)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:203)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:158)
at com.iplanet.ias.web.WebContainer.service(WebContainer.java:850)Thanks for any help provided.
Does any one have insights about it?Hi Swapna,
from your screenshot it seems that you actually try to call the service in your Data Source Expression field. You should set path to the WSDL file here actually - this could be either URL to SAP or to filesystem, as Anton suggested (this could be faster). Have you created endpoint binding for your service in transaction SOAMANAGER? If yes, then simply download the corresponding WSDL with binding or copy the URL which leads to it. But also test whether you are able to retrieve the WSDL without logging into SAP (close all browser windows and then open a new one otherwise session ID from other browser windows can be reused).
If you have to give username and password, then setup anonymous alias in transaction SICF, for example.
Pleas, check my previous post on the same subject here: Re: BCM7 IVR : SOAP request for client identification in CRM .
Maybe it could help.
Regards,
Dawood. -
QName error while calling a web service from Sourcing
I need to call a web service from Sourcing script. The web service team has provided us the WSDL and I have generated the required stubs using wsimport and packaged the required java classes in a custom JAR. Now while calling a web method using this jar from my script, I am getting and exception. The exception message that I printed out was this:
Caught exception e with msg Connection IO Exception. Check nested exception for details. (Connection
IO Exception. Check nested exception for details. (Connection Exception; nested exception is:
java.lang.IllegalArgumentException: cannot create QName from "null" or "" String).)
The same jar and same code works fine when called from a standalone java program.
I am not using or creating QName anywhere in my script. The only place where QName is used is in the generated java class and there it is created from the correct namespace URL
Can anyone please help me out in figuring out what is the issue?This is the stack trace of the error:
#2.0 #2014 05 08 09:02:30:915#+00#Error#com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding#
#BC-ESI-WS-JAV-RT#webservices_lib#C000CF8242BA4B800000002100002648#2174850000000005#sap.com/E-Sourcing-Server#com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding#VAC53324#89##D811EE96D68E11E3C9E0000000212F82#3cf7fe38d68f11e3c963000000212f82#3cf7fe38d68f11e3c963000000212f82#0#Thread[RequestHandler.RqThread: fullsave,5,Dedicated_Application_Thread]#Plain##
Connection IO Exception. Check nested exception for details. (Connection IO Exception. Check nested exception for details. (Connection Exception; nested exception is:
java.lang.IllegalArgumentException: cannot create QName from "null" or "" String).).
[EXCEPTION]
com.sap.engine.services.webservices.espbase.client.bindings.exceptions.TransportBindingException: Connection IO Exception. Check nested exception for details. (Connection IO Exception. Check nested exception for details. (Connection Exception; nested exception is:
java.lang.IllegalArgumentException: cannot create QName from "null" or "" String).).
at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.writeSOAPRequestMessage(SOAPTransportBinding.java:256)
at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call_SOAP(SOAPTransportBinding.java:1318)
at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.callWOLogging(SOAPTransportBinding.java:991)
at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call(SOAPTransportBinding.java:945)
at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.processTransportBindingCall(WSInvocationHandler.java:168)
at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invokeSEISyncMethod(WSInvocationHandler.java:121)
at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invokeSEIMethod(WSInvocationHandler.java:84)
at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invoke(WSInvocationHandler.java:65)
at $Proxy2539.grantOrganizationRoles(Unknown Source)
I tested the same custom JAR, that is deployed in Sourcing, separately using a standalone java program and there it gave back the correct SOAP response -
How to call COPY web service from sharepoint in SAP
Hello Experts,
I want to call COPY web service from SharePoint in SAP web dynpro / JAVA application.
However, when I try to connect to web service and download wsdl using http:// <hostname:port>/_vti_bin/copy.asmx?wsdl
it results in Unauthorized error and doesnt complete the setup. Detail error is :
Error occurred while downloading WSIL file. Error message: Deserializing xml stream http:// <hostname:port>/_vti_bin/copy.asmx?wsdl
failed.com.sap.engine.services.webservices.espbase.wsdl.exceptions.WSDLException: Invalid Response Code: (401) Unauthorized. The requested URL was:"Connect to
http:// <hostname:port>/_vti_bin/copy.asmx?wsdl , used user to connect: userid"
I am trying to connect with server user account. Any idea on what authorizations might be required or any help on the scenario .
-AbhijeetHere's an example on how to delete a list item, hopefully this helps
package com.jw.sharepoint.examples;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Properties;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import com.microsoft.sharepoint.webservices.CopySoap;
import com.microsoft.sharepoint.webservices.GetListItems;
import com.microsoft.sharepoint.webservices.GetListItemsResponse;
import com.microsoft.sharepoint.webservices.ListsSoap;
import com.microsoft.sharepoint.webservices.UpdateListItems.Updates;
import com.microsoft.sharepoint.webservices.UpdateListItemsResponse.UpdateListItemsResult;
public class SharePointDeleteListItemExample extends SharePointBaseExample {
private String delete = null;
private String deleteListItemQuery = null;
private String queryOptions = null;
private static final Log logger = LogFactory.getLog(SharePointUploadDocumentExample.class);
private static Properties properties = new Properties();
public Properties getProperties() {
return properties;
* @param args
public static void main(String[] args) {
logger.debug("main...");
SharePointDeleteListItemExample example = new SharePointDeleteListItemExample();
try {
example.initialize();
CopySoap cp = example.getCopySoap();
example.uploadDocument(cp, properties.getProperty("copy.sourceFile"));
ListsSoap ls = example.getListsSoap();
example.executeQueryAndDelete(ls);
} catch (Exception ex) {
logger.error("Error caught in main: ", ex);
public void executeQueryAndDelete(ListsSoap ls) throws Exception {
Date today = Calendar.getInstance().getTime();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = simpleDateFormat.format(today);
String queryFormatted = String.format(deleteListItemQuery,formattedDate);
GetListItems.QueryOptions msQueryOptions = new GetListItems.QueryOptions();
GetListItems.Query msQuery = new GetListItems.Query();
msQuery.getContent().add(createSharePointCAMLNode(queryFormatted));
msQueryOptions.getContent().add(createSharePointCAMLNode(this.queryOptions));
GetListItemsResponse.GetListItemsResult result = ls.getListItems(
properties.getProperty("folder"), "", msQuery, null, "",
msQueryOptions, "");
writeResult(result.getContent().get(0), System.out);
Element element = (Element) result.getContent().get(0);
NodeList nl = element.getElementsByTagName("z:row");
for (int i = 0; i < nl.getLength(); i++) {
Node node = nl.item(i);
String id = node.getAttributes().getNamedItem("ows_ID").getNodeValue();
String fileRefRelativePath = node.getAttributes().getNamedItem("ows_FileRef").getNodeValue();
logger.debug("id: " + id);
logger.debug("fileRefRelativePath: " + fileRefRelativePath);
String fileRef = properties.getProperty("delete.FileRef.base") + fileRefRelativePath.split("#")[1];
logger.debug("fileRef: " + fileRef);
deleteListItem(ls, properties.getProperty("folder"), id, fileRef);
public void deleteListItem(ListsSoap ls, String listName, String listId, String fileRef) throws Exception {
String deleteFormatted = String.format(delete, listId, fileRef);
Updates u = new Updates();
u.getContent().add(createSharePointCAMLNode(deleteFormatted));
UpdateListItemsResult ret = ls.updateListItems(listName, u);
writeResult(ret.getContent().get(0), System.out);
public void initialize() throws Exception {
logger.info("initialize()...");
properties.load(getClass().getResourceAsStream("/SharePointDeleteListItemExample.properties"));
super.initialize();
this.delete = new String(readAll(new File(this.getClass().getResource("/Delete.xml").toURI())));
this.deleteListItemQuery = new String(readAll(new File(this.getClass().getResource("/DeleteListItemQuery.xml").toURI())));
this.queryOptions = new String(readAll(new File(this.getClass().getResource("/QueryOptions.xml").toURI())));
Brandon James SharePoint Developer/Administrator -
Call a Web Service from JavaFX running als WebStart or embed in a Browser
Calling a Web Service from a JavaFX running as a application all is fine.
Wenn run the same JavaFX as WebStart or Browser embed I get a runtime exception:
=================================
Java-Plug-in 10.7.2.10
JRE-Version verwenden 1.7.0_07-b10 Java HotSpot(TM) Client VM
Benutzer-Home-Verzeichnis = C:\Users\Olaf
c: Konsolenfenster löschen
f: Objekte in Finalisierungs-Queue finalisieren
g: Garbage Collect
h: Diese Hilfemeldung anzeigen
l: Class Loader-Liste ausgeben
m: Speicherauslastung drucken
o: Logging auslösen
q: Konsole ausblenden
r: Policy-Konfiguration neu laden
s: System- und Deployment-Eigenschaften ausgeben
t: Threadliste ausgeben
v: Thread-Stack ausgeben
x: Class Loader-Cache leeren
0-5: Trace-Ebene auf <n> setzen
Match: beginTraversal
Match: digest selected JREDesc: JREDesc[version 1.6+, heap=-1--1, args=null, href=http://java.sun.com/products/autodl/j2se, sel=false, null, null], JREInfo: JREInfo for index 0:
platform is: 1.7
product is: 1.7.0_07
location is: http://java.sun.com/products/autodl/j2se
path is: C:\Program Files (x86)\Java\jre7\bin\javaw.exe
args is:
native platform is: Windows, x86 [ x86, 32bit ]
JavaFX runtime is: JavaFX 2.2.0 found at C:\Program Files (x86)\Java\jre7\
enabled is: true
registered is: false
system is: true
Match: ignoring maxHeap: -1
Match: ignoring InitHeap: -1
Match: digesting vmargs: null
Match: digested vmargs: [JVMParameters: isSecure: true, args: ]
Match: JVM args after accumulation: [JVMParameters: isSecure: true, args: ]
Match: digest LaunchDesc: file:/C:/Users/Olaf/Documents/NetBeansProjects/JavaFXApplication4/dist/JavaFXApplication4.jnlp
Match: digest properties: []
Match: JVM args: [JVMParameters: isSecure: true, args: ]
Match: endTraversal ..
Match: JVM args final:
Match: Running JREInfo Version match: 1.7.0.07 == 1.7.0.07
Match: Running JVM args match: have:<> satisfy want:<>
CacheEntry[file:/C:/Users/Olaf/Documents/NetBeansProjects/JavaFXApplication4/dist/JavaFXApplication4.jar]: updateAvailable=true,lastModified=Tue Sep 04 21:16:35 CEST 2012,length=39432
java.lang.ExceptionInInitializerError
at com.sun.xml.internal.ws.util.xml.XmlUtil.createDefaultCatalogResolver(Unknown Source)
at com.sun.xml.internal.ws.client.WSServiceDelegate.parseWSDL(Unknown Source)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(Unknown Source)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(Unknown Source)
at com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(Unknown Source)
at javax.xml.ws.Service.<init>(Unknown Source)
at javafxapplication4.ws.NewWebService_Service.<init>(NewWebService_Service.java:42)
at javafxapplication4.JavaFXApplication4.start(JavaFXApplication4.java:25)
at com.sun.javafx.applet.FXApplet2$1.run(FXApplet2.java:131)
at com.sun.javafx.application.PlatformImpl$4.run(PlatformImpl.java:173)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$100(WinApplication.java:29)
at com.sun.glass.ui.win.WinApplication$2$1.run(WinApplication.java:67)
at java.lang.Thread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied ("java.util.PropertyPermission" "xml.catalog.ignoreMissing" "read")
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPropertyAccess(Unknown Source)
at java.lang.System.getProperty(Unknown Source)
at com.sun.org.apache.xml.internal.resolver.CatalogManager.<init>(Unknown Source)
at com.sun.org.apache.xml.internal.resolver.CatalogManager.<clinit>(Unknown Source)
... 14 more
======================================================
Any hint for me.
thx
OlafSign your application.
http://docs.oracle.com/javafx/2/deployment/deploy_overview.htm#CEGJGHDA -
Getting .ServiceException while invoking a web service from a client
I created a web service and then created a web service client from wsdl in eclipse. I am getting the following error when trying to call the web service from client.
javax.xml.rpc.ServiceException: There is no stub implementation for the interface: examples.ejb.ejb20.basic.statelessSession.TraderBeanService
Please find the files here -
wsdl - http://www.sourcepod.com/uneksu63-9627
Trade.java - http://www.sourcepod.com/mltizr21-9628
TradeResult.java - http://www.sourcepod.com/npledh19-9629
TradeResultService - http://www.sourcepod.com/hbjevm45-9630
TradeResultServiceLocator.java - http://www.sourcepod.com/mrpagh85-9631
TradeResultSoapBindingStub.java - http://www.sourcepod.com/zjrkjv91-9632
package examples.ejb.ejb20.basic.statelessSession;
import javax.xml.ws.WebServiceRef;
import javax.xml.namespace.QName;
public class HelloClient {
@WebServiceRef(wsdlLocation="http://localhost:7001/webservice/services/TraderBean?wsdl")
String url = "http://localhost:7001/webservice/services/TraderBean?wsdl";
QName qname = new QName("http://statelessSession.basic.ejb20.ejb.examples", "TraderBeanService");
public static void main(String[] args) {
try {
HelloClient client = new HelloClient();
client.doTest(args);
} catch(Exception e) {
e.printStackTrace();
public void doTest(String[] args) {
try {
TraderBeanServiceLocator service = new TraderBeanServiceLocator(url,qname);
TraderBean port = (TraderBean) service.getPort(TraderBeanService.class);
System.out.println("Invoking the sayHello operation on the port.");
TradeResult response = port.buy("INR", 100);
System.out.println(response.getNumberTraded());
} catch(Exception e) {
e.printStackTrace();
}How to solve the stub implementation error?
Edited by: 901007 on 12 Aug, 2012 10:57 AMThat did not work either. There was getPorts() and not getPort() and I used getPorts(). And I am getting the below error,
java.lang.ClassCastException: java.util.HashMap$KeyIterator
But when I try like the below,
@WebServiceRef(wsdlLocation="http://localhost:7001/webservice/services/TraderBean?wsdl")
String url = "http://localhost:7001/webservice/services/TraderBean?wsdl";
QName qname = new QName("http://statelessSession.basic.ejb20.ejb.examples", "TraderBeanService");
TraderBeanServiceLocator service = new TraderBeanServiceLocator();
TraderBean port = (TraderBean) service.getPort(TraderBean.class);
System.out.println("Invoking the sayHello operation on the port.");
TradeResult response = port.buy("INR", 200);
System.out.println(response.getNumberTraded());I am getting the below error,
Invoking the sayHello operation on the port.
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.InstantiationException: examples.ejb.ejb20.basic.statelessSession.TraderBean
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname:Gopi_Desktop
java.lang.InstantiationException: examples.ejb.ejb20.basic.statelessSession.TraderBean
As you can see the statement"Invoking the sayHello operation on the port." is getting printed but after that error is thrown.
I tried changing it to, TraderBean port = (TraderBean) service.getPort(qname, TraderBeanServiceLocator.class);
But even this is throwing the same error, java.lang.InstantiationException: examples.ejb.ejb20.basic.statelessSession.TraderBean
I changed my webservice using Axis2 web service runtime and this time when I try to invoke using client, I am getting the following,
[WARN] Weblogic's StAX implementation is unsupported and some Axiom features will not work as expected! Please use Woodstox instead.
Exception in thread "Main Thread" org.apache.axis2.AxisFault: javax.xml.stream.XMLStreamException: Error at line:1 col:217 ':' Already got a ':' in name
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:375)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at examples.ejb.ejb20.basic.statelessSession.TraderBeanStub.addTwoNumbers(TraderBeanStub.java:185)
at examples.ejb.ejb20.basic.statelessSession.TestClient.main(TestClient.java:15)
If you need more details, I can post the steps I did to build it...
Any help is greately appreciated.
Edited by: 901007 on 15 Aug, 2012 10:27 PM
Edited by: 901007 on 15 Aug, 2012 10:49 PM -
Calling https web service from pl/sql
hi,
i've to call a web service from my database, after some research, i've tryed to use utl_dbws package to get the job, i've managed to put to work some of the examples i saw, that allways use http. My webservice is invoked using https with some user credentials.
i'me getting the following message:
ORA-29532: Java call terminated by uncaught Java exception: HTTP transport error:
javax.xml.soap.SOAPException: java.security.PrivilegedActionException:
javax.xml.soap.SOAPException: Message send failed: Socket is closed
ORA-06512: at "SYS.UTL_DBWS", line 388
ORA-06512: at "SYS.UTL_DBWS", line 385
ORA-06512: at line 85
i've tryed with this 2 procedures:
declare
service_ sys.utl_dbws.SERVICE;
call_ sys.utl_dbws.CALL;
service_qname sys.utl_dbws.QNAME;
port_qname sys.utl_dbws.QNAME;
operation_qname sys.utl_dbws.QNAME;
string_type_qname sys.utl_dbws.QNAME;
retx ANYDATA;
retx_string VARCHAR2(100);
retx_len number;
params sys.utl_dbws.ANYDATA_LIST;
wsm varchar2(4000);
config varchar2(4000);
request sys.XMLTYPE;
response sys.XMLTYPE;
begin
Request := sys.XMLTYPE('<?xml version="1.0" encoding="utf-8"?>'||
' <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'||
' <soap:Header>'||
' <UserCredentials xmlns="http://tempuri.org/">'||
' <UserID>username</UserID>'||
' <Password>password</Password>'||
' </UserCredentials>'||
' </soap:Header>'||
' <soap:Body>'||
' <GetInfo xmlns="http://tempuri.org/">'||
' <wsID>13</wsID>'||
' </GetInfo>'||
' </soap:Body>'||
' </soap:Envelope>');
service_qname := sys.utl_dbws.to_qname(null, 'GetInfo');
service_ := sys.utl_dbws.create_service(service_qname);
operation_qname := sys.utl_dbws.to_qname('http://tempuri.org/', 'GetInfo');
call_ := sys.utl_dbws.create_call(service_);
sys.utl_dbws.set_target_endpoint_address(call_, 'https://ws.livesolutions.pt:8800/wsLivesolutions.asmx');
sys.utl_dbws.set_property( call_
, 'OPERATION_STYLE'
, 'document'
sys.utl_dbws.set_property( call_
, 'SOAPACTION_URI'
,' https://ws.livesolutions.pt:8800/wsLivesolutions');
response:= sys.utl_dbws.invoke(call_, request);
END;
declare
service_ utl_dbws.SERVICE;
call_ utl_dbws.CALL;
service_qname utl_dbws.QNAME;
port_qname utl_dbws.QNAME;
operation_qname utl_dbws.QNAME;
string_type_qname utl_dbws.QNAME;
retx ANYDATA;
retx_string VARCHAR2(1000);
retx_double number;
retx_len number;
params utl_dbws.ANYDATA_LIST;
l_input_params utl_dbws.anydata_list;
l_result ANYDATA;
l_namespace VARCHAR2(1000);
request sys.XMLTYPE;
response sys.XMLTYPE;
begin
l_namespace := 'http://tempuri.org/';
service_qname := utl_dbws.to_qname(l_namespace, 'wsLivesolutions');
service_ := utl_dbws.create_service(service_qname);
port_qname := utl_dbws.to_qname(l_namespace, 'wsLivesolutionsSoap');
operation_qname := utl_dbws.to_qname(l_namespace, 'GetInfo');
call_ := utl_dbws.create_call(service_, port_qname, operation_qname);
utl_dbws.set_target_endpoint_address(call_, 'https://ws.livesolutions.pt:8800/wsLivesolutions.asmx');
utl_dbws.set_property(call_, 'SOAPACTION_USE', 'TRUE');
utl_dbws.set_property(call_, 'SOAPACTION_URI', 'http://tempuri.org/GetInfo');
utl_dbws.set_property(call_, 'OPERATION_STYLE', 'document');
UTL_DBWS.set_property(call_, 'USERNAME', 'username');
UTL_DBWS.set_property(call_, 'PASSWORD', 'password');
string_type_qname := utl_dbws.to_qname('http://www.w3.org/2001/XMLSchema', 'schema');
utl_dbws.add_parameter(call_, 'wsID', string_type_qname, 'ParameterMode.IN');
utl_dbws.set_return_type(call_, string_type_qname);
params(0) := ANYDATA.convertnumber(13);
retx := utl_dbws.invoke(call_, params);
utl_dbws.release_service(service_);
end;
can anyone help me in this?
thxAre you expecting us to guess at the message you received when you got the 28868?
I guess: "the wallet is closed."
If I guessed correctly then open it.
ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY "<your_wallet_password_here>";If I didn't guess correctly then you need to provide all of the information you neglected in your original post.
Start with the version number. -
Call a Web Service from within an e-Sourcing script
Hi Guys
I would like to know wether anyone has successfully been able to call a Web Service from within an
e-Sourcing script? If you have, can you please share your experience and code?
Thank YouHi Faaiez -
As with any use of Web Services, however, you should carefully consider the security issues that may come up. How, for example, will the Web Service server validate that the Web Service client (E-Sourcing) is properly authenticated? Will password information be included in the web service call? You will find that it is very easy to make a web service call, but I would encourage you to carefully consider security before implementing a productive solution.
Web service calls can be made using raw Java web service APIs from the open source Axis library which is included with E-Sourcing; this approach is slightly more difficult to code, but very dynamic. Web service calls can also be made using proxies. In one solution that I worked on, we generated java proxies for the web service, compiled those proxies into a Jar file, and included that jar file as a custom jar in E-Sourcing. Let me provide a few more details on each of these approaches.
Using raw java web service APIs that are part of the Service and Call classes, I prototyped a web service call to Googles sample spell checker web service. Here is the code:
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import javax.xml.rpc.ParameterMode;
import javax.xml.namespace.QName;
String endpoint = "http://api.google.com/search/beta2";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new java.net.URL(endpoint) );
call.setOperationName( "doSpellingSuggestion" );
call.setOperationName(new QName("urn:GoogleSearch", "doSpellingSuggestion"));
call.addParameter("key", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("phrase", XMLType.XSD_STRING, ParameterMode.IN);
call.setReturnType( XMLType.XSD_STRING );
String ret = (String) call.invoke( new Object[] { "googlekey", doc.getDocumentDescription()} );
doc.setDocumentDescription(ret);
This block of code does a very simple thing...it calls the Google "doSpellingSuggestions" web service with two parameters: a key provided by Google, and a string for which the spelling suggestions should be generated. I used the current document description as my sample string for the web service and I put the results back into the document description - remember, this is just showing how you can call the web service, not doing anything really intelligent or useful from a business perspective
There is nothing special to E-Sourcing about the above code...this is really just using the Axis java classes to call a web service.
The second approach that can be used is to generate Java proxies for the web service calls. The open source Axis library includes a tool called "wsdl2java". Using the WSDL for the web service, you can generate Java proxies. Java classes will be generated by the tool; these Java classes will then need to be compiled and included in E-Sourcing as a custom jar. Once they are part of the E-Sourcing deployment, they can be called like any Java API. If you were to examine the generated code, you would notice that it looks a lot like the raw web service code shown above...the generated classes really just provide a simpler interface to the same functionality.
You can see this information and other E-Sourcing information at my blog at: http://www.sunshinesys.com/
Rob
Maybe you are looking for
-
Itunes will no longer load on my computer says C runtime library runtime error
I tunes will not load on my desktop PC...says C runtime library error. Have uninstalled, reloaded ran updates with n success.
-
IMac (Early 2009) Bluetooth connection keeps dropping out
I have an iMac (20-inch, Early 2009) that I love. I've used this machine for the past 3 years for absolutely everything. It's my primary computer. There is one issue that is driving me absolutely insane though. On this machine, at random intervals
-
Crystal Reports Field Explorer not showing
Hi, I am using Visual Studio 2003 with the bundled version of Crystal Reports. It has always worked fine until recently the Field Explorer tool bar does not show up anymore when I open a Crystal Report for development. I have uninstalled the e
-
Missing method fromXML() in JCO 3.0.5
Hi, I'm currently upgrading our company's SAP connector code from JCO 2.1.8 to JCO 3.0.5. There is a lot of refactoring necessary of course, but so far I've always found in the new 3.0 API what I needed. But now I'm stuck. In JCO 2.1.8 there was a me
-
Within moments of subscribing I discovered interference with my REckon Elite Tax and Ledger software. I can no longer produce a PDF within the software and this is inpeding my work flow.