我对带有soap服务的java上的连接器代码有一个奇怪的例外,
由于wsdl我生成了源代码,我把它放到我的项目中但是我无法正常工作,我得到了异常,但奇怪的是我裁剪了wsdl源代码并创建了一个刚存在的新项目来源,它工作,我找不到方法, 等你的回复
FATAL [ACTIVE] ExecuteThread:队列为'11':'weblogic.kernel.Default(self-tuning)' - 29.08.2013 17:32:41,602 Thu EEST javax.servlet.ServletException:javax.xml.ws.WebServiceException:java.io.IOException:对于输入字符串:“”
javax.servlet.ServletException: javax.xml.ws.WebServiceException: java.io.IOException: For input string: ""
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:420)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:699)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:242)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:216)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:132)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:338)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:74)
at com.netas.vas.tic.ws.aop.LoggingFilter.doFilter(LoggingFilter.java:49)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:74)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3288)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3254)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2163)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2089)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2074)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1513)
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused by: javax.xml.ws.WebServiceException: java.io.IOException: For input string: ""
at com.sun.xml.ws.streaming.TidyXMLStreamReader.close(TidyXMLStreamReader.java:73)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parseWSDL(RuntimeWSDLParser.java:421)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:184)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:154)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:139)
at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:287)
at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:249)
at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:200)
at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:190)
at weblogic.wsee.jaxws.spi.WLSServiceDelegate.<init>(WLSServiceDelegate.java:89)
at weblogic.wsee.jaxws.spi.WLSProvider$ServiceDelegateImpl.<init>(WLSProvider.java:674)
at weblogic.wsee.jaxws.spi.WLSProvider.createServiceDelegate(WLSProvider.java:141)
at weblogic.wsee.jaxws.spi.WLSProvider.createServiceDelegate(WLSProvider.java:114)
at javax.xml.ws.Service.<init>(Service.java:92)
at com.netas.vas.tic.ws.client.freeurl.subscription.SOF99SubscriptionCreateRequestWithControl_Service.<init>(SOF99SubscriptionCreateRequestWithControl_Service.java:45)
at com.netas.vas.tic.ws.rest.RegisterResource.freeUrl(RegisterResource.java:390)
at com.netas.vas.tic.ws.rest.RegisterResource.newPerson(RegisterResource.java:214)
at com.netas.vas.tic.ws.rest.RegisterResource.register(RegisterResource.java:139)
at com.netas.vas.tic.ws.rest.RegisterResource_msujha_NoIntfViewImpl.__WL_invoke(Unknown Source)
at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(SessionLocalMethodInvoker.java:31)
at com.netas.vas.tic.ws.rest.RegisterResource_msujha_NoIntfViewImpl.register(Unknown Source)
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:597)
at weblogic.jaxrs.dispatch.EJBDispatchProvider$EJBMethodInvoker.invoke(EJBDispatchProvider.java:58)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1469)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1400)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1349)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
... 23 more
Caused by: java.io.IOException: For input string: ""
at weblogic.utils.http.HttpChunkInputStream.initChunk(HttpChunkInputStream.java:69)
at weblogic.utils.http.HttpChunkInputStream.skip(HttpChunkInputStream.java:215)
at weblogic.utils.http.HttpChunkInputStream.skipAllChunk(HttpChunkInputStream.java:395)
at weblogic.utils.http.HttpChunkInputStream.close(HttpChunkInputStream.java:291)
at weblogic.net.http.KeepAliveStream.close(KeepAliveStream.java:122)
at com.sun.xml.ws.streaming.TidyXMLStreamReader.close(TidyXMLStreamReader.java:71)
... 59 more
----------------------------------------------- ---------------------------------------------
答案 0 :(得分:0)
我添加了服务类
的
的package freeurl.subscription;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient;
import javax.xml.ws.WebServiceFeature;
import javax.xml.ws.Service;
/**
* This class was generated by Apache CXF 2.7.5
* 2013-06-11T16:22:49.956+03:00
* Generated source version: 2.7.5
*
*/
@WebServiceClient(name = "SO_F99_SubscriptionCreateRequestWithControl",
wsdlLocation = "http:/bla.bla:9700/orabpel/default/SO_F99_SubscriptionCreateRequestWithControl/2.2?wsdl",
targetNamespace = "http://www.accenture.com/assets/sdp/sync/SO_F99_SubscriptionCreateRequestWithControl")
public class SOF99SubscriptionCreateRequestWithControl_Service extends Service {
public final static URL WSDL_LOCATION;`enter code here`
public final static QName SERVICE = new QName("http://www.accenture.com/assets/sdp/sync/SO_F99_SubscriptionCreateRequestWithControl", "SO_F99_SubscriptionCreateRequestWithControl");
public final static QName SOF99SubscriptionCreateRequestWithControlPort = new QName("http://www.accenture.com/assets/sdp/sync/SO_F99_SubscriptionCreateRequestWithControl", "SO_F99_SubscriptionCreateRequestWithControlPort");
static {
URL url = null;
try {
url = new URL("http://bla.bla:9700/orabpel/default/SO_F99_SubscriptionCreateRequestWithControl/2.2");
} catch (MalformedURLException e) {
java.util.logging.Logger.getLogger(SOF99SubscriptionCreateRequestWithControl_Service.class.getName())
.log(java.util.logging.Level.INFO,
"Can not initialize the default wsdl from {0}", "http://10.201.148.51:9700/orabpel/default/SO_F99_SubscriptionCreateRequestWithControl/SO_F99_SubscriptionCreateRequestWithControl?wsdl");
}
WSDL_LOCATION = url;
}
public SOF99SubscriptionCreateRequestWithControl_Service(URL wsdlLocation) {
super(wsdlLocation, SERVICE);
}
public SOF99SubscriptionCreateRequestWithControl_Service(URL wsdlLocation, QName serviceName) {
super(wsdlLocation, serviceName);
}
public SOF99SubscriptionCreateRequestWithControl_Service() {
super(WSDL_LOCATION, SERVICE);
}
/**
*
* @return
* returns SOF99SubscriptionCreateRequestWithControl
*/
@WebEndpoint(name = "SO_F99_SubscriptionCreateRequestWithControlPort")
public SOF99SubscriptionCreateRequestWithControl getSOF99SubscriptionCreateRequestWithControlPort() {
return super.getPort(SOF99SubscriptionCreateRequestWithControlPort, SOF99SubscriptionCreateRequestWithControl.class);
}
/**
*
* @param features
* A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
* @return
* returns SOF99SubscriptionCreateRequestWithControl
*/
@WebEndpoint(name = "SO_F99_SubscriptionCreateRequestWithControlPort")
public SOF99SubscriptionCreateRequestWithControl getSOF99SubscriptionCreateRequestWithControlPort(WebServiceFeature... features) {
return super.getPort(SOF99SubscriptionCreateRequestWithControlPort, SOF99SubscriptionCreateRequestWithControl.class, features);
}
}
的
我从这里打电话给那个服务
的
的public TSOresult freeUrl(Msisdn msisdn) {
QName SERVICE_NAME = new QName("http://www.accenture.com/assets/sdp/sync/SO_F99_SubscriptionCreateRequestWithControl", "SO_F99_SubscriptionCreateRequestWithControl");
// URL wsdlURL = SOF99SubscriptionCreateRequestWithControl_Service.WSDL_LOCATION;
VasLogger.logInfo("Free URL WSDL " + FreeUrlConfig.getFreeUrlWsdl() + " with msisdn " + msisdn.asUsername());
URL wsdlURL = null;
try {
wsdlURL = new URL(FreeUrlConfig.getFreeUrlWsdl());
} catch (MalformedURLException ex) {
VasLogger.logError("Free url error: " + FreeUrlConfig.getFreeUrlWsdl() + " " + wsdlURL.toString(), ex);
} catch (Exception e) {
VasLogger.logError("Free url error: " + FreeUrlConfig.getFreeUrlWsdl() + " " + wsdlURL.toString(), e);
}
SOF99SubscriptionCreateRequestWithControl_Service ss = new SOF99SubscriptionCreateRequestWithControl_Service(wsdlURL, SERVICE_NAME);
SOF99SubscriptionCreateRequestWithControl port = ss.getSOF99SubscriptionCreateRequestWithControlPort();
ObjectFactory objectFactory = new ObjectFactory();
com.netas.vas.tic.ws.client.freeurl.subscription.TSODATA _process_payloadVal = objectFactory.createTSODATA();
javax.xml.ws.Holder<com.netas.vas.tic.ws.client.freeurl.subscription.TSODATA> _process_payload = new javax.xml.ws.Holder<com.netas.vas.tic.ws.client.freeurl.subscription.TSODATA>(_process_payloadVal);
TSOheader header = objectFactory.createTSOheader();
String transactionIdStr = "848" + CodeGenerator.generateCode(16, CodeType.NUMERIC); //transactionId();
header.setMSISDN(msisdn.asUsername());
header.setOrderId(transactionIdStr);
TSOattributes attributes = objectFactory.createTSOattributes();
List<Attribute> attributeList = attributes.getAttribute();
Attribute channel = new Attribute();
channel.setName("CHANNEL");
channel.setValue("VAS Server");
Attribute userId = new Attribute();
userId.setName("USER_ID");
userId.setValue(FreeUrlConfig.getUserId());
Attribute application = new Attribute();
application.setName("APPLICATION");
application.setValue(FreeUrlConfig.getApplication());
Attribute transactionId = new Attribute();
transactionId.setName("TRANSACTION_ID");
transactionId.setValue(transactionIdStr);
Attribute catalogOfferId = new Attribute();
catalogOfferId.setName("CATALOG_OFFER_ID");
catalogOfferId.setValue(FreeUrlConfig.getOfferId());
Attribute campaignId = new Attribute();
campaignId.setName("CAMPAIGN_ID");
campaignId.setValue(FreeUrlConfig.getCampaignId());
Attribute msisdnAttr = new Attribute();
msisdnAttr.setName("MSISDN");
msisdnAttr.setValue(msisdn.asUsername());
Attribute callPermissionFlowFlag = new Attribute();
callPermissionFlowFlag.setName("CALL_PERMISSION_FLOW_FLAG");
callPermissionFlowFlag.setValue(FreeUrlConfig.isCallPermissionFlowFlagActive() ? "Y" : "N");
attributeList.add(channel);
attributeList.add(userId);
attributeList.add(application);
attributeList.add(transactionId);
attributeList.add(catalogOfferId);
attributeList.add(campaignId);
attributeList.add(msisdnAttr);
attributeList.add(callPermissionFlowFlag);
_process_payloadVal.setTSOheader(header);
_process_payloadVal.setTSOattributes(attributes);
port.process(_process_payload);
VasLogger.logInfo("FREE URL PROCESS PAYLOAD: " + _process_payload.toString() + " ATTRIBUTES " + attributes);
return _process_payload.value.getTSOresult();
}
的