Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MagentoJavaSOAP客户端_Java_Magento_Soap_Cxf - Fatal编程技术网

MagentoJavaSOAP客户端

MagentoJavaSOAP客户端,java,magento,soap,cxf,Java,Magento,Soap,Cxf,我开始使用ApacheCXF开发java客户机。我尝试登录并创建一个调用,以获取我的品红安装的存储列表。这个发现很有效。但后来我试图收到一份网店所有产品的清单。现在我得到一个有趣的错误消息 我正在使用Magento 1.6.1.0,它在ws-i模式下运行 URL wsdlURL = new URL("http://someurl/api/v2_soap/?wsdl=1"); MagentoService ss = new MagentoService(wsdlURL, SERV

我开始使用ApacheCXF开发java客户机。我尝试登录并创建一个调用,以获取我的品红安装的存储列表。这个发现很有效。但后来我试图收到一份网店所有产品的清单。现在我得到一个有趣的错误消息

我正在使用Magento 1.6.1.0,它在ws-i模式下运行

    URL wsdlURL = new URL("http://someurl/api/v2_soap/?wsdl=1");

    MagentoService ss = new MagentoService(wsdlURL, SERVICE_NAME);
    MageApiModelServerWsiHandlerPortType port = ss.getMageApiModelServerWsiHandlerPort();

    LoginParam loginParam = new LoginParam();
    loginParam.setApiKey("password");
    loginParam.setUsername("user");

    LoginResponseParam sessionId = port.login(loginParam);
    System.out.println("sessionId : " + sessionId.getResult());

    StoreListRequestParam param = new StoreListRequestParam();
    param.setSessionId(sessionId.getResult());
    StoreListResponseParam storeListRespParam = port.storeList(param);
    StoreEntityArray storeEntityArray = storeListRespParam.getResult();
    List<StoreEntity> stores = storeEntityArray.getComplexObjectArray();
    System.out.println(">>>> " + stores.size());

    StoreEntity store = stores.get(0);

    CatalogProductListRequestParam params = new CatalogProductListRequestParam();
    params.setSessionId(sessionId.getResult());
    params.setFilters(null);
    params.setStore(String.valueOf(store.getStoreId()));

    CatalogProductListResponseParam response = port.catalogProductList(params);
    CatalogProductEntityArray catalogProdEntityArray = response.getResult();
    List<CatalogProductEntity> products = catalogProdEntityArray.getComplexObjectArray();
    System.out.println(">>>> " + products.size());
URL wsdlURL=新URL(“http://someurl/api/v2_soap/?wsdl=1");
MagentoService ss=新的MagentoService(wsdlURL,服务名称);
MageApiModelServerWsiHandlerPortType端口=ss.getMageApiModelServerWsiHandlerPort();
LoginParam LoginParam=新的LoginParam();
loginParam.setApiKey(“密码”);
loginParam.setUsername(“用户”);
LoginResponseParam sessionId=port.login(loginParam);
System.out.println(“sessionId:+sessionId.getResult());
StoreListRequestParam param=新的StoreListRequestParam();
参数setSessionId(sessionId.getResult());
StoreListResponseParam StoreListResParam=端口.storeList(参数);
StoreEntityArray StoreEntityArray=StoreListResParam.getResult();
List stores=storeEntityArray.getComplexObjectArray();
System.out.println(“>>>”+stores.size());
StoreEntity store=stores.get(0);
CatalogProductListRequestParam params=新CatalogProductListRequestParam();
params.setSessionId(sessionId.getResult());
参数设置过滤器(空);
params.setStore(String.valueOf(store.getStoreId());
CatalogProductListResponseParam响应=端口。catalogProductList(参数);
CatalogProductEntityArray catalogProdEntityArray=response.getResult();
List products=catalogProdEntityArray.getComplexObjectArray();
System.out.println(“>>>>”+products.size());
错误消息:

[com.ctc.wstx.exc.WstxEOFException:意外的EOF;需要元素的结束标记

看来反应的结构有问题

有人有主意吗

提前谢谢

整个堆栈跟踪:

 Interceptor for {urn:Magento}MagentoService#{urn:Magento}catalogProductList has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Unmarshalling Error: Unexpected EOF; was expecting a close tag for element <sku>
 at [row,col {unknown-source}]: [3336,6] 
    at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:824)
    at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:644)
    at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:156)
    at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:201)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
    at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:801)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1627)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1494)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1402)
    at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
    at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:649)
    at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
    at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:535)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:465)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:368)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:321)
    at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:88)
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)
    at $Proxy24.catalogProductList(Unknown Source)
    at Client.main(Client.java:53)
Caused by: javax.xml.bind.UnmarshalException
 - with linked exception:
[com.ctc.wstx.exc.WstxEOFException: Unexpected EOF; was expecting a close tag for element <sku>
 at [row,col {unknown-source}]: [3336,6]]
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:426)
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362)
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339)
    at org.apache.cxf.jaxb.JAXBEncoderDecoder.doUnmarshal(JAXBEncoderDecoder.java:784)
    at org.apache.cxf.jaxb.JAXBEncoderDecoder.access$100(JAXBEncoderDecoder.java:96)
    at org.apache.cxf.jaxb.JAXBEncoderDecoder$1.run(JAXBEncoderDecoder.java:812)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:810)
    ... 20 more
Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF; was expecting a close tag for element <sku>
 at [row,col {unknown-source}]: [3336,6]
    at com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:677)
    at com.ctc.wstx.sr.BasicStreamReader.throwUnexpectedEOF(BasicStreamReader.java:5466)
    at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2685)
    at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1050)
    at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:192)
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)
    ... 26 more
Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Unmarshalling Error: Unexpected EOF; was expecting a close tag for element <sku>
 at [row,col {unknown-source}]: [3336,6] 
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:156)
    at $Proxy24.catalogProductList(Unknown Source)
    at Client.main(Client.java:53)
Caused by: javax.xml.bind.UnmarshalException
 - with linked exception:
[com.ctc.wstx.exc.WstxEOFException: Unexpected EOF; was expecting a close tag for element <sku>
 at [row,col {unknown-source}]: [3336,6]]
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:426)
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362)
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339)
    at org.apache.cxf.jaxb.JAXBEncoderDecoder.doUnmarshal(JAXBEncoderDecoder.java:784)
    at org.apache.cxf.jaxb.JAXBEncoderDecoder.access$100(JAXBEncoderDecoder.java:96)
    at org.apache.cxf.jaxb.JAXBEncoderDecoder$1.run(JAXBEncoderDecoder.java:812)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:810)
    at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:644)
    at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:156)
    at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:201)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
    at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:801)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1627)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1494)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1402)
    at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
    at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:649)
    at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
    at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:535)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:465)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:368)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:321)
    at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:88)
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)
    ... 2 more
Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF; was expecting a close tag for element <sku>
 at [row,col {unknown-source}]: [3336,6]
    at com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:677)
    at com.ctc.wstx.sr.BasicStreamReader.throwUnexpectedEOF(BasicStreamReader.java:5466)
    at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2685)
    at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1050)
    at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:192)
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)
    ... 26 more
{urn:Magento}MagentoService{urn:Magento}catalogProductList的侦听器已引发异常,正在解除 org.apache.cxf.interceptor.Fault:解组错误:意外的EOF;需要元素的关闭标记 在[行,列{未知源}]:[3336,6] 位于org.apache.cxf.jaxb.jaxbencoder.unmarshall(jaxbencoder.java:824) 位于org.apache.cxf.jaxb.jaxbencoder.unmarshall(jaxbencoder.java:644) 位于org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:156) 位于org.apache.cxf.interceptor.docliteralinterceptor.handleMessage(docliteralinterceptor.java:201) 位于org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263) 位于org.apache.cxf.endpoint.clientmpl.onMessage(clientmpl.java:801) 位于org.apache.cxf.transport.http.httpconductor$WrappedOutputStream.handleResponseInternal(httpconductor.java:1627) http.httpconductor$WrappedOutputStream.handleResponse(httpconductor.java:1494) 位于org.apache.cxf.transport.http.httpconductor$WrappedOutputStream.close(httpconductor.java:1402) 位于org.apache.cxf.transport.AbstractConductor.close(AbstractConductor.java:56) 位于org.apache.cxf.transport.http.httpconductor.close(httpconductor.java:649) 位于org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderdingInterceptor.handleMessage(MessageSenderInterceptor.java:62) 位于org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263) 位于org.apache.cxf.endpoint.clientmpl.doInvoke(clientmpl.java:535) 位于org.apache.cxf.endpoint.clientmpl.invoke(clientmpl.java:465) 位于org.apache.cxf.endpoint.clientmpl.invoke(clientmpl.java:368) 位于org.apache.cxf.endpoint.clientmpl.invoke(clientmpl.java:321) 位于org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:88) 位于org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134) 位于$Proxy24.catalogProductList(未知来源) 位于Client.main(Client.java:53) 原因:javax.xml.bind.UnmarshalException -除此之外: [com.ctc.wstx.exc.WstxEOFException:意外的EOF;需要元素的关闭标记 在[行,列{未知源}]:[3336,6]] 位于com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:426) 位于com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362) 位于com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339) 位于org.apache.cxf.jaxb.jaxbencoder.doUnmarshal(jaxbencoder.java:784) 位于org.apache.cxf.jaxb.jaxbencoder.access$100(jaxbencoder.java:96) 位于org.apache.cxf.jaxb.jaxbencoder$1.run(jaxbencoder.java:812) 位于java.security.AccessController.doPrivileged(本机方法) 位于org.apache.cxf.jaxb.jaxbencoder.unmarshall(jaxbencoder.java:810) …还有20个 由以下原因引起:com.ctc.wstx.exc.WstxEOFException:意外的EOF;需要元素的关闭标记 在[行,列{未知源}]:[3336,6] 位于com.ctc.wstx.sr.StreamScanner.throwunnexpectedeof(StreamScanner.java:677) 位于com.ctc.wstx.sr.BasicStreamReader.throwUnexpectedof(BasicStreamReader.java:5466) 位于com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2685) 位于com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1050) 位于com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:192) 位于com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360) …还有26个 线程“main”javax.xml.ws.soap.SOAPFaultException中的异常:解组错误:意外的EOF;应为元素指定一个关闭标记 在[行,列{未知源}]:[3336,6] 位于org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:156) 在$Proxy24.catalogProductList(未知)