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


Java OperationDesc类代码示例

本文整理汇总了Java中org.apache.axis.description.OperationDesc的典型用法代码示例。如果您正苦于以下问题:Java OperationDesc类的具体用法?Java OperationDesc怎么用?Java OperationDesc使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: processMessage

import org.apache.axis.description.OperationDesc; //导入依赖的package包/类
public void processMessage(MessageContext msgContext, SOAPEnvelope reqEnv, SOAPEnvelope resEnv, Object obj) throws Exception {

        RPCElement body = getBody(reqEnv, msgContext);
        OperationDesc operation = getOperationDesc(msgContext, body);

        AxisRpcInterceptor interceptor = new AxisRpcInterceptor(operation, msgContext);
        SOAPMessage message = msgContext.getMessage();

        try {
            message.getSOAPPart().getEnvelope();
            msgContext.setProperty(org.apache.axis.SOAPPart.ALLOW_FORM_OPTIMIZATION, Boolean.FALSE);

            RpcContainer container = (RpcContainer) ejbDeployment.getContainer();

            Object[] arguments = {msgContext, interceptor};

            Class callInterface = ejbDeployment.getServiceEndpointInterface();
            Object result = container.invoke(ejbDeployment.getDeploymentID(), InterfaceType.SERVICE_ENDPOINT, callInterface, operation.getMethod(), arguments, null);

            interceptor.createResult(result);
        } catch (ApplicationException e) {
            interceptor.createExceptionResult(e.getCause());
        } catch (Throwable throwable) {
            throw new AxisFault("Web Service EJB Invocation failed: method " + operation.getMethod(), throwable);
        }
    }
 
开发者ID:apache,项目名称:tomee,代码行数:27,代码来源:EjbRpcProvider.java

示例2: createCall

import org.apache.axis.description.OperationDesc; //导入依赖的package包/类
/**
 * Create a call with common parameter preparation.
 *
 * @param soapConstants Preferably SOAP12Constants
 * @param encodingStyleURI null or Constants.URI_SOAP12_ENC, or Constants.URI_SOAP12_NOENC
 * @param operationDesc OperationDesc
 * @return Prepared Call object.
 * @throws RemoteException for a number of initialization failures
 */
public Call createCall( final SOAPConstants soapConstants,
                        final String encodingStyleURI,
                        final OperationDesc operationDesc )
    throws RemoteException
{
    final org.apache.axis.client.Call _call1 = this.createCall(encodingStyleURI);
    _call1.setSOAPVersion(soapConstants);
    // Could this be safe not to be filled?
    _call1.setEncodingStyle(encodingStyleURI);

    // OperationDesc fills local type registry as a side function
    _call1.setOperation(operationDesc);

    // Set the operation QName (OperationDesc has top-level ElementQName)
    _call1.setOperationName(operationDesc.getElementQName());

    return _call1;
}
 
开发者ID:laverca,项目名称:laverca,代码行数:28,代码来源:AbstractSoapBindingStub.java

示例3: OperationInfo

import org.apache.axis.description.OperationDesc; //导入依赖的package包/类
public OperationInfo(OperationDesc operationDesc, boolean useSOAPAction, String soapActionURI, SOAPConstants soapVersion, QName operationName, String methodName, String methodDesc) {
    this.operationDesc = operationDesc;
    this.useSOAPAction = useSOAPAction;
    this.soapActionURI = soapActionURI;
    this.soapVersion = soapVersion;
    this.operationName = operationName;
    this.methodName = methodName;
    this.methodDesc = methodDesc;
}
 
开发者ID:apache,项目名称:tomee,代码行数:10,代码来源:OperationInfo.java

示例4: removeOperationDesc

import org.apache.axis.description.OperationDesc; //导入依赖的package包/类
public void removeOperationDesc(OperationDesc operation) {
}
 
开发者ID:apache,项目名称:tomee,代码行数:3,代码来源:ReadOnlyServiceDesc.java

示例5: addOperationDesc

import org.apache.axis.description.OperationDesc; //导入依赖的package包/类
public void addOperationDesc(OperationDesc operation) {
}
 
开发者ID:apache,项目名称:tomee,代码行数:3,代码来源:ReadOnlyServiceDesc.java

示例6: getOperationsByName

import org.apache.axis.description.OperationDesc; //导入依赖的package包/类
public OperationDesc[] getOperationsByName(String methodName) {
    return serviceDesc.getOperationsByName(methodName);
}
 
开发者ID:apache,项目名称:tomee,代码行数:4,代码来源:ReadOnlyServiceDesc.java

示例7: getOperationByName

import org.apache.axis.description.OperationDesc; //导入依赖的package包/类
public OperationDesc getOperationByName(String methodName) {
    return serviceDesc.getOperationByName(methodName);
}
 
开发者ID:apache,项目名称:tomee,代码行数:4,代码来源:ReadOnlyServiceDesc.java

示例8: getOperationByElementQName

import org.apache.axis.description.OperationDesc; //导入依赖的package包/类
public OperationDesc getOperationByElementQName(QName qname) {
    return serviceDesc.getOperationByElementQName(qname);
}
 
开发者ID:apache,项目名称:tomee,代码行数:4,代码来源:ReadOnlyServiceDesc.java

示例9: getOperationsByQName

import org.apache.axis.description.OperationDesc; //导入依赖的package包/类
public OperationDesc[] getOperationsByQName(QName qname) {
    return serviceDesc.getOperationsByQName(qname);
}
 
开发者ID:apache,项目名称:tomee,代码行数:4,代码来源:ReadOnlyServiceDesc.java

示例10: AxisRpcInterceptor

import org.apache.axis.description.OperationDesc; //导入依赖的package包/类
public AxisRpcInterceptor(OperationDesc operation, MessageContext msgContext) throws Exception {
    this.messageContext = msgContext;
    this.operation = operation;
}
 
开发者ID:apache,项目名称:tomee,代码行数:5,代码来源:EjbRpcProvider.java

示例11: getOperationDesc

import org.apache.axis.description.OperationDesc; //导入依赖的package包/类
public OperationDesc getOperationDesc() {
    return operationDesc;
}
 
开发者ID:apache,项目名称:tomee,代码行数:4,代码来源:OperationInfo.java

示例12: createServiceDesc

import org.apache.axis.description.OperationDesc; //导入依赖的package包/类
public JavaServiceDesc createServiceDesc() throws OpenEJBException {
    Class serviceEndpointInterface;
    try {
        serviceEndpointInterface = classLoader.loadClass(serviceInfo.serviceEndpointInterface);
    } catch (ClassNotFoundException e) {
        throw new OpenEJBException("Unable to load the service endpoint interface " + serviceInfo.serviceEndpointInterface, e);
    }

    JavaServiceDesc serviceDesc = new JavaServiceDesc();
    serviceDesc.setName(serviceInfo.name);
    serviceDesc.setEndpointURL(serviceInfo.endpointURL);
    serviceDesc.setWSDLFile(serviceInfo.wsdlFile);

    BindingStyle bindingStyle = serviceInfo.defaultBindingStyle;
    switch (bindingStyle) {
        case RPC_ENCODED:
            serviceDesc.setStyle(Style.RPC);
            serviceDesc.setUse(Use.ENCODED);
            break;
        case RPC_LITERAL:
            serviceDesc.setStyle(Style.RPC);
            serviceDesc.setUse(Use.LITERAL);
            break;
        case DOCUMENT_ENCODED:
            serviceDesc.setStyle(Style.DOCUMENT);
            serviceDesc.setUse(Use.ENCODED);
            break;
        case DOCUMENT_LITERAL:
            serviceDesc.setStyle(Style.DOCUMENT);
            serviceDesc.setUse(Use.LITERAL);
            break;
        case DOCUMENT_LITERAL_WRAPPED:
            serviceDesc.setStyle(Style.WRAPPED);
            serviceDesc.setUse(Use.LITERAL);
            break;
    }

    // Operations
    for (JaxRpcOperationInfo operationInfo : serviceInfo.operations) {
        OperationDesc operationDesc = buildOperationDesc(operationInfo, serviceEndpointInterface);
        serviceDesc.addOperationDesc(operationDesc);
    }

    // Type mapping registry
    TypeMappingRegistryImpl typeMappingRegistry = new TypeMappingRegistryImpl();
    typeMappingRegistry.doRegisterFromVersion("1.3");
    serviceDesc.setTypeMappingRegistry(typeMappingRegistry);

    // Type mapping
    TypeMapping typeMapping = typeMappingRegistry.getOrMakeTypeMapping(serviceDesc.getUse().getEncoding());
    serviceDesc.setTypeMapping(typeMapping);

    // Types
    for (JaxRpcTypeInfo type : serviceInfo.types) {
        registerType(type, typeMapping);
    }

    return new ReadOnlyServiceDesc(serviceDesc);
}
 
开发者ID:apache,项目名称:tomee,代码行数:60,代码来源:JavaServiceDescBuilder.java

示例13: testInvokeSOAP

import org.apache.axis.description.OperationDesc; //导入依赖的package包/类
public void testInvokeSOAP() throws Exception {

        ClassLoader cl = Thread.currentThread().getContextClassLoader();
        JavaServiceDesc serviceDesc = new JavaServiceDesc();
        serviceDesc.setEndpointURL("http://127.0.0.1:8080/axis/services/echo");
        //serviceDesc.setWSDLFile(portInfo.getWsdlURL().toExternalForm());
        serviceDesc.setStyle(Style.RPC);
        serviceDesc.setUse(Use.ENCODED);

        TypeMappingRegistryImpl tmr = new TypeMappingRegistryImpl();
        tmr.doRegisterFromVersion("1.3");
        TypeMapping typeMapping = tmr.getOrMakeTypeMapping(serviceDesc.getUse().getEncoding());

        serviceDesc.setTypeMappingRegistry(tmr);
        serviceDesc.setTypeMapping(typeMapping);

        OperationDesc op = new OperationDesc();
        op.setName("echoString");
        op.setStyle(Style.RPC);
        op.setUse(Use.ENCODED);
        Class beanClass = EchoBean.class;
        op.setMethod(beanClass.getMethod("echoString", String.class));
        ParameterDesc parameter =
            new ParameterDesc(
                new QName("http://ws.apache.org/echosample", "in0"),
                ParameterDesc.IN,
                typeMapping.getTypeQName(String.class),
                String.class,
                false,
                false);
        op.addParameter(parameter);
        serviceDesc.addOperationDesc(op);

        serviceDesc.getOperations();
        ReadOnlyServiceDesc sd = new ReadOnlyServiceDesc(serviceDesc);

        Class pojoClass = cl.loadClass("org.apache.openejb.server.axis.EchoBean");

        RPCProvider provider = new PojoProvider();
        SOAPService service = new SOAPService(null, provider, null);
        service.setServiceDescription(sd);
        service.setOption("className", "org.apache.openejb.server.axis.EchoBean");
        URL wsdlURL = new URL("http://fake/echo.wsdl");
        URI location = new URI(serviceDesc.getEndpointURL());
        Map wsdlMap = new HashMap();

        AxisWsContainer container = new AxisWsContainer(wsdlURL, service, wsdlMap, cl);

        InputStream in = cl.getResourceAsStream("echoString-req.txt");

        try {
            AxisRequest req =
                new AxisRequest(
                    504,
                    "text/xml; charset=utf-8",
                    new ServletIntputStreamAdapter(in),
                    HttpRequest.Method.GET,
                    new HashMap<String, String>(),
                    location,
                    new HashMap<String, String>(),
                    "127.0.0.1");

            ByteArrayOutputStream out = new ByteArrayOutputStream();
            AxisResponse res = new AxisResponse("text/xml; charset=utf-8", "127.0.0.1", null, null, 8080, new ServletOutputStreamAdapter(out));
            req.setAttribute(WsConstants.POJO_INSTANCE, pojoClass.newInstance());
            container.onMessage(req, res);

            out.flush();
//            log.debug(new String(out.toByteArray()));
        } finally {
            if (in != null) {
                try {
                    in.close();
                } catch (IOException ignore) {
                    // ignore
                }
            }
        }
    }
 
开发者ID:apache,项目名称:tomee,代码行数:80,代码来源:AxisWsContainerTest.java

示例14: doGet

import org.apache.axis.description.OperationDesc; //导入依赖的package包/类
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    AxisEngine engine = retrieveEngine(this);
    ServletContext servletContext = getServletConfig().getServletContext();

    String pathInfo = request.getPathInfo();
    String realpath = servletContext.getRealPath(request.getServletPath());
    if (realpath == null) {
        realpath = request.getServletPath();
    }
    String serviceName;
    if (pathInfo.startsWith("/")) {
        serviceName = pathInfo.substring(1);
    } else {
        serviceName = pathInfo;
    }

    // look up the service and make sure it exists
    SOAPService s = engine.getService(serviceName);
    

    WSDDService service = null;
    WSDDService[] services = ((DirProvider) engine.getConfig()).getDeployment().getServices();
    for (int i = 0; i < services.length; i++) {
        if (services[i].getQName().getLocalPart().equals(serviceName)) {
            service = services[i];
            break;
        }
    }

    PrintWriter writer = response.getWriter();
    response.setContentType("text/html; charset=utf-8");
    writer.println("<html>");
    writer.println("<h1>" + serviceName + "</h1>");

    // generate the html for all the operations
    List list = service.getServiceDesc().getOperations();
    Iterator it = list.iterator();

    writer.println("<h2>Operations</h2>");
    writer.println("<DL>");
    while (it.hasNext()) {

        OperationDesc desc = (OperationDesc) it.next();
        writer.print("<DT>");
        writer.print(desc.getName());
        writer.println("</DT>");
        writer.println("<DD>");
        writer.println("</DD>");
        
    }
    writer.println("</DL>");

    writer.println("</html>");
}
 
开发者ID:NCIP,项目名称:cagrid-core,代码行数:56,代码来源:DefaultServiceServlet.java


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