简体   繁体   English

WebServices中的Inout和Out参数

[英]Inout and Out parameters in WebServices

I'm using Inout and Out parameters in the ServiceEndPointInterface(SEI). 我在ServiceEndPointInterface(SEI)中使用Inout和Out参数。 Here is the method signature. 这是方法签名。

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.WebParam.Mode;
import javax.jws.Oneway;
import javax.xml.rpc.holders.*;

@WebMethod
@Oneway
public  @WebResult void TestDomainCls( @WebParam (mode=Mode.INOUT)   IntegerWrapperHolder inpuInt ); 

And I have implemented this method in the EJBBean. 我已经在EJBBean中实现了此方法。 And I have exposed this EJBBean as a webservice using annotation. 并且我已经使用注释将该EJBBean作为Web服务公开。

While deploying this EAR in JBOSS 5.,it's throwing the error like 在JBOSS 5中部署此EAR时,会抛出类似

Caused by:  java.lang.IllegalStateException: 
Cannot synchronize to any of these methods:
public abstract java.lang.String MURCOMP.MURCOMP_SEI.serv_20_search1(java.lang.String,javax.xml.rpc.holders.StringHolder)

OperationMetaData:
qname={http://MURCOMP/}serv_20_search1
javaName=serv_20_search1
style=rpc/literal
oneWay=false
soapAction=
ParameterMetaData:
xmlName=arg0
partName=arg0
xmlType={http://www.w3.org/2001/XMLSchema}string
javaType=java.lang.String
mode=IN
inHeader=false
index=0
ParameterMetaData:
xmlName=arg1
partName=arg1
xmlType={http://www.w3.org/2001/XMLSchema}anyType
javaType=java.lang.Object
mode=OUT
inHeader=false
index=1
ReturnMetaData:
xmlName=return
partName=return
xmlType={http://www.w3.org/2001/XMLSchema}string
javaType=java.lang.String
mode=OUT
inHeader=false
index=-1
at   org.jboss.ws.metadata.umdm.OperationMetaData.eagerInitialize(OperationMetaData.java:491)
    at org.jboss.ws.metadata.umdm.EndpointMetaData.eagerInitializeOperations(EndpointMetaData.java:559)
    at org.jboss.ws.metadata.umdm.EndpointMetaData.initializeInternal(EndpointMetaData.java:543)
    at org.jboss.ws.metadata.umdm.EndpointMetaData.eagerInitialize(EndpointMetaData.java:533)
    at org.jboss.ws.metadata.umdm.ServiceMetaData.eagerInitialize(ServiceMetaData.java:433)
    at org.jboss.ws.metadata.umdm.UnifiedMetaData.eagerInitialize(UnifiedMetaData.java:194)
    at org.jboss.wsf.stack.jbws.EagerInitializeDeploymentAspect.start(EagerInitializeDeploymentAspect.java:48)
    at org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl.deploy(DeploymentAspectManagerImpl.java:129)
    at org.jboss.wsf.container.jboss50.deployer.ArchiveDeployerHook.deploy(ArchiveDeployerHook.java:76)
    at org.jboss.wsf.container.jboss50.deployer.AbstractWebServiceDeployer.internalDeploy(AbstractWebServiceDeployer.java:60)
    at org.jboss.wsf.container.jboss50.deployer.WebServiceDeployerEJB.internalDeploy(WebServiceDeployerEJB.java:113)
    at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
    at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
    ... 30 more
17:40:12,483 ERROR [ProfileServiceBootstrap] Failed to load profile: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):

This error is coming only if I'm using inout or out parameters in my method. 仅当我在方法中使用inout或out参数时,才会出现此错误。

Can anyone suggest me.,where I'm going wrong or Is there anything missing with respect to INOUT and OUT parameters in Web Services 任何人都可以建议我。,我哪里出错了,或者关于Web服务中的INOUT和OUT参数是否缺少任何内容

enter code here

I have got the solution.,I have used javax.xml.ws.Holder instead of the javax.xml.rpc.holders. 我有解决方案。我使用javax.xml.ws.Holder代替了javax.xml.rpc.holders。 The code is as follows @WebMethod public @WebResult String testINout(@WebParam Holder holder); 代码如下所示:@WebMethod public @WebResult String testINout(@WebParam Holderholder);

But I didnt got the actual solution, why if I use javax.xml.rpc.holders such exception has occured. 但是我没有实际的解决方案,为什么如果我使用javax.xml.rpc.holders会发生这样的异常。 Anyway the alternate way I found to work on.. 无论如何,我发现继续工作的另一种方式。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM