当前位置: 首页>>代码示例>>Java>>正文


Java Service.createCall方法代码示例

本文整理汇总了Java中javax.xml.rpc.Service.createCall方法的典型用法代码示例。如果您正苦于以下问题:Java Service.createCall方法的具体用法?Java Service.createCall怎么用?Java Service.createCall使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在javax.xml.rpc.Service的用法示例。


在下文中一共展示了Service.createCall方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: performJaxRpcCall

import javax.xml.rpc.Service; //导入方法依赖的package包/类
/**
 * Perform a JAX-RPC dynamic call for the given AOP method invocation.
 * Delegates to {@link #prepareJaxRpcCall} and
 * {@link #postProcessJaxRpcCall} for setting up the call object.
 * <p>The default implementation uses method name as JAX-RPC operation name
 * and method arguments as arguments for the JAX-RPC call. Can be
 * overridden in subclasses for custom operation names and/or arguments.
 * @param invocation the current AOP MethodInvocation that should
 * be converted to a JAX-RPC call
 * @param service the JAX-RPC Service to use for the call
 * @return the return value of the invocation, if any
 * @throws Throwable the exception thrown by the invocation, if any
 * @see #prepareJaxRpcCall
 * @see #postProcessJaxRpcCall
 */
protected Object performJaxRpcCall(MethodInvocation invocation, Service service) throws Throwable {
	Method method = invocation.getMethod();
	QName portQName = this.portQName;

	// Create JAX-RPC call object, using the method name as operation name.
	// Synchronized because of non-thread-safe Axis implementation!
	Call call = null;
	synchronized (service) {
		call = service.createCall(portQName, method.getName());
	}

	// Apply properties to JAX-RPC stub.
	prepareJaxRpcCall(call);

	// Allow for custom post-processing in subclasses.
	postProcessJaxRpcCall(call, invocation);

	// Perform actual invocation.
	return call.invoke(invocation.getArguments());
}
 
开发者ID:deathspeeder,项目名称:class-guard,代码行数:36,代码来源:JaxRpcPortClientInterceptor.java

示例2: main

import javax.xml.rpc.Service; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {
    Options opts = new Options(args);
    String uri = "http://faults.samples";
    String serviceName = "EmployeeInfoService";
    ServiceFactory serviceFactory = ServiceFactory.newInstance();
    Service service = serviceFactory.createService(new QName(uri, serviceName));
    
    TypeMappingRegistry registry = service.getTypeMappingRegistry();
    TypeMapping map = registry.getDefaultTypeMapping();
    
    QName employeeQName = new QName("http://faults.samples", "Employee");
    map.register(Employee.class, employeeQName, new BeanSerializerFactory(Employee.class, employeeQName), new BeanDeserializerFactory(Employee.class, employeeQName));

    QName faultQName = new QName("http://faults.samples", "NoSuchEmployeeFault");
    map.register(NoSuchEmployeeFault.class, faultQName, new BeanSerializerFactory(NoSuchEmployeeFault.class, faultQName), new BeanDeserializerFactory(NoSuchEmployeeFault.class, faultQName));
    
    Call call = service.createCall();
    call.setTargetEndpointAddress(new URL(opts.getURL()).toString());
    call.setProperty(Call.SESSION_MAINTAIN_PROPERTY, Boolean.TRUE);
    call.setProperty(Call.SOAPACTION_USE_PROPERTY, Boolean.TRUE);
    call.setProperty(Call.SOAPACTION_URI_PROPERTY, "http://faults.samples");
    call.setOperationName( new QName(uri, "getEmployee") );

    String[] args2 = opts.getRemainingArgs();
    System.out.println("Trying :" + args2[0]);
    Employee emp = (Employee) call.invoke(new Object[]{ args2[0] });
    System.out.println("Got :" + emp.getEmployeeID());
}
 
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:29,代码来源:EmployeeClient.java

示例3: main

import javax.xml.rpc.Service; //导入方法依赖的package包/类
public static void main(String args[]) throws Exception {
    Options opts = new Options(args);

    args = opts.getRemainingArgs();

    if (args == null || args.length % 2 != 0) {
        System.err.println("Usage: GetInfo <symbol> <datatype>");
        System.exit(1);
    }

    String  symbol  = args[0];
    Service service = ServiceFactory.newInstance().createService(null);
    Call    call    = service.createCall();

    call.setTargetEndpointAddress(opts.getURL());
    call.setOperationName(new QName("urn:cominfo", "getInfo"));
    call.addParameter("symbol", XMLType.XSD_STRING, ParameterMode.IN);
    call.addParameter("info", XMLType.XSD_STRING, ParameterMode.IN);
    call.setReturnType(XMLType.XSD_STRING);
    if(opts.getUser()!=null)
        call.setProperty(Call.USERNAME_PROPERTY, opts.getUser());
    if(opts.getPassword()!=null)
        call.setProperty(Call.PASSWORD_PROPERTY, opts.getPassword());

    String res = (String) call.invoke(new Object[] {args[0], args[1]});

    System.out.println(symbol + ": " + res);
}
 
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:29,代码来源:GetInfo.java

示例4: getQuote3

import javax.xml.rpc.Service; //导入方法依赖的package包/类
/**
 * This method does the same thing that getQuote1 does, but in
 * addition it reuses the Call object to make another call.
 */
public float getQuote3(String args[]) throws Exception {
    Options opts = new Options(args);

    args = opts.getRemainingArgs();

    if (args == null) {
        System.err.println("Usage: GetQuote <symbol>");
        System.exit(1);
    }

    /* Define the service QName and port QName */
    /*******************************************/
    QName servQN = new QName("urn:xmltoday-delayed-quotes",
            "GetQuoteService");
    QName portQN = new QName("urn:xmltoday-delayed-quotes", "GetQuote");

    /* Now use those QNames as pointers into the WSDL doc */
    /******************************************************/
    Service service = ServiceFactory.newInstance().createService(
            new URL("file:samples/stock/GetQuote.wsdl"), servQN);
    Call call = service.createCall(portQN, "getQuote");

    /* Strange - but allows the user to change just certain portions of */
    /* the URL we're gonna use to invoke the service.  Useful when you  */
    /* want to run it thru tcpmon (ie. put  -p81 on the cmd line).      */
    /********************************************************************/
    opts.setDefaultURL(call.getTargetEndpointAddress());
    call.setTargetEndpointAddress(opts.getURL());

    /* Define some service specific properties */
    /*******************************************/
    call.setProperty(Call.USERNAME_PROPERTY, opts.getUser());
    call.setProperty(Call.PASSWORD_PROPERTY, opts.getPassword());

    /* Get symbol and invoke the service */
    /*************************************/
    Object result = call.invoke(new Object[] {symbol = args[0]});

    /* Reuse the Call object for a different call */
    /**********************************************/
    call.setOperationName(new QName("urn:xmltoday-delayed-quotes", "test"));
    call.removeAllParameters();
    call.setReturnType(XMLType.XSD_STRING);

    System.out.println(call.invoke(new Object[]{}));
    return ((Float) result).floatValue();
}
 
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:52,代码来源:GetQuote1.java

示例5: getQuote1

import javax.xml.rpc.Service; //导入方法依赖的package包/类
/**
 * This will use the WSDL to prefill all of the info needed to make
 * the call.  All that's left is filling in the args to invoke().
 */
public float getQuote1(String args[]) throws Exception {
    Options opts = new Options(args);

    args = opts.getRemainingArgs();

    if (args == null) {
        System.err.println("Usage: GetQuote <symbol>");
        System.exit(1);
    }

    /* Define the service QName and port QName */
    /*******************************************/
    QName servQN = new QName("urn:xmltoday-delayed-quotes",
            "GetQuoteService");
    QName portQN = new QName("urn:xmltoday-delayed-quotes", "GetQuote");

    /* Now use those QNames as pointers into the WSDL doc */
    /******************************************************/
    Service service = ServiceFactory.newInstance().createService(
            new URL("file:samples/stock/GetQuote.wsdl"), servQN);
    Call call = service.createCall(portQN, "getQuote");

    /* Strange - but allows the user to change just certain portions of */
    /* the URL we're gonna use to invoke the service.  Useful when you  */
    /* want to run it thru tcpmon (ie. put  -p81 on the cmd line).      */
    /********************************************************************/
    opts.setDefaultURL(call.getTargetEndpointAddress());
    call.setTargetEndpointAddress(opts.getURL());

    /* Define some service specific properties */
    /*******************************************/
    call.setProperty(Call.USERNAME_PROPERTY, opts.getUser());
    call.setProperty(Call.PASSWORD_PROPERTY, opts.getPassword());

    /* Get symbol and invoke the service */
    /*************************************/
    Object result = call.invoke(new Object[] {symbol = args[0]});

    return ((Float) result).floatValue();
}
 
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:45,代码来源:GetQuote1.java

示例6: getQuote2

import javax.xml.rpc.Service; //导入方法依赖的package包/类
/**
 * This will do everything manually (ie. no WSDL).
 */
public float getQuote2(String args[]) throws Exception {
    Options opts = new Options(args);

    args = opts.getRemainingArgs();

    if (args == null) {
        System.err.println("Usage: GetQuote <symbol>");
        System.exit(1);
    }

    /* Create default/empty Service and Call object */
    /************************************************/
    Service service = ServiceFactory.newInstance().createService(null);
    Call call = service.createCall();

    /* Strange - but allows the user to change just certain portions of */
    /* the URL we're gonna use to invoke the service.  Useful when you  */
    /* want to run it thru tcpmon (ie. put  -p81 on the cmd line).      */
    /********************************************************************/
    opts.setDefaultURL("http://localhost:8080/axis/servlet/AxisServlet");

    /* Set all of the stuff that would normally come from WSDL */
    /***********************************************************/
    call.setTargetEndpointAddress(opts.getURL());
    call.setProperty(Call.SOAPACTION_USE_PROPERTY, Boolean.TRUE);
    call.setProperty(Call.SOAPACTION_URI_PROPERTY, "getQuote");
    call.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY,
            "http://schemas.xmlsoap.org/soap/encoding/");
    call.setOperationName(new QName("urn:xmltoday-delayed-quotes", "getQuote"));
    call.addParameter("symbol", XMLType.XSD_STRING, ParameterMode.IN);
    call.setReturnType(XMLType.XSD_FLOAT);

    /* Define some service specific properties */
    /*******************************************/
    call.setProperty(Call.USERNAME_PROPERTY, opts.getUser());
    call.setProperty(Call.PASSWORD_PROPERTY, opts.getPassword());

    /* Get symbol and invoke the service */
    /*************************************/
    Object result = call.invoke(new Object[] {symbol = args[0]});

    return ((Float) result).floatValue();
}
 
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:47,代码来源:GetQuote1.java


注:本文中的javax.xml.rpc.Service.createCall方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。