Thursday, July 30, 2009

Calling WebMethods services Menggunakan SOAP-RPC pakai Java

ini adalah contoh class manggil service webmethods menggunakan SOAP-RPC.
Ini belum baca langsung dari file WSDL tapi ngambil infonya dari WSDL.
Untuk baca langsung dari file WSDL nanti nyusul.
Service yang dipake toUpper, mangga dicobian.... Very Happy

/* ini library yang dibutuhkan:
* axis-1_2/lib/axis.jar
* axis-1_2/lib/jaxrpc.jar
* axis-1_2/lib/saaj.jar
* axis-1_2/lib/commons-logging.jar
* axis-1_2/lib/commons-discovery.jar
* axis-1_2/lib/wsdl4j.jar
*
* bisa di download di:
* http://archive.apache.org/dist/ws/axis/1_2/
*/

package wsdl;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
/**
*
* @author bhangun
*
*/
public class TesWSDL {
public static void main(String[] args) {
String namespaceURI = "http://www.webmethods.com/pub.string";
String endpoint = "http://localhost:5555/soap/rpc";
String localPart = "toUpper";
String username = "Administrator";
String pass = "manage";
String paramName = "inString";
String nsReturnType= "http://www.w3.org/2001/XMLSchema";
String returnType = "String";
QName xmlType = org.apache.axis.Constants.XSD_STRING;
ParameterMode parameterMode = ParameterMode.IN;

try {

Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(endpoint));
call.setOperationName(new QName(namespaceURI, localPart));
call.setUsername(username);
call.setPassword(pass);
call.addParameter(paramName, xmlType, parameterMode);
call.setReturnType(new QName(nsReturnType,returnType));
String ret = (String) call.invoke(new Object[] { "bismillah!" });

System.out.println("Coba ku urang di cobian, '" + ret + "'");
} catch (Exception e) {
System.err.println(e.toString());
}
}
}


No comments: