簡體   English   中英

打開JDK 7和Oracle JDK 7 Soap客戶端

[英]Open JDK 7 and Oracle JDK 7 Soap client

我使用cxf開發了一個Java soap客戶端。 這個應用程序在Mac上運行的很好,我在其中使用了包含的jdk v6來運行它。 我創建的服務(例如,將圖像上傳到magento安裝),但是在此我將介紹問題。

在Apache Cxf中,我轉向了分塊,以避免“殘缺”的xml請求。 現在,我體驗到由於開放的jdk,我的客戶端應用程序無法在ubuntu之類的Linux發行版上運行。 我在Mac上通過安裝openjdk 7和oracle jdk 7對此進行了測試,並出現了相同的錯誤。

盡管如此,我還是將來自客戶端的請求分塊,從而在某處進行了切片,因此上傳失敗。

我讀到這可能是openjdk和一些xml-libs的問題,但我找不到有關此主題的任何真正准確甚至有用的信息。

也許你們中的某人可以幫助我。

提前致謝。

這是請求和響應:

ID: 5
Address: http://dev.magento.com/index.php/api/v2_soap/index/
Encoding: UTF-8
Content-Type: text/xml
Headers: {Accept=[*/*],
SOAPAction=[""]}
Messages: Outbound Message (saved to tmp file):
Filename:
/var/folders/z6/91v2ntss00s1786v_1_5y2540000gn/T/cxf-tmp-636617/cos5007091721474555391tmp
(message truncated to 102400 bytes)

Payload:

    
        
            552f069112dde557bc577735fc4eb8bf
            5540
            
                
                    
                        /9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gODAK/9sAQwAGBAUGBQQ
--------------------------------------
14168 [main] INFO
org.apache.cxf.services.MagentoService.Mage_Api_Model_Server_Wsi_HandlerPort.Mage_Api_Model_Server_Wsi_HandlerPortType
- Inbound Message
----------------------------
ID: 5
Response-Code: 200
Encoding: UTF-8
Content-Type: text/xml; charset=UTF-8
Headers: {Cache-Control=[max-age=31536000], connection=[close],
Content-Length=[275], content-type=[text/xml; charset=UTF-8],
Date=[Fri, 17 Aug 2012 12:52:16 GMT], Expires=[Sat, 17 Aug 2013
12:52:16 GMT], Server=[Apache], Vary=[Accept-Encoding]}
Payload: 

    
        
            102
            Ungültiger Bildtyp.
        
    


--------------------------------------

這是痕跡:

javax.xml.ws.soap.SOAPFaultException: unsupported imagetype
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:156)
    at $Proxy28.catalogProductAttributeMediaCreate(Unknown Source)
    at at.myproject.soap.service.product.media.ProductAttributeMediaServiceImpl.create(ProductAttributeMediaServiceImpl.java:61)
    at at.myproject.magento.service.sync.product.ProductSyncServiceImpl.updateProduct(ProductSyncServiceImpl.java:275)
    at at.myproject.magento.service.sync.product.ProductSyncServiceImpl.updateProducts(ProductSyncServiceImpl.java:185)
    at at.myproject.magento.service.sync.product.ProductSyncServiceImpl.syncronize(ProductSyncServiceImpl.java:145)
    at at.myproject.magento.scheduler.jobs.ProductSyncJob.execute(ProductSyncJob.java:21)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
Caused by: org.apache.cxf.binding.soap.SoapFault: Ungültiger Bildtyp.
    at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:75)
    at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:46)
    at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:35)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
    at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113)
    at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)
    at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
    at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:798)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1656)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1521)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1429)
    at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
    at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:659)
    at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
    at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:532)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:464)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:367)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:320)
    at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:89)
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)
    ... 8 more

我可以通過將這些庫添加到pom中來解決此問題,

    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-xjc</artifactId>
        <version>2.2.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>2.2.1</version>
    </dependency>

在咨詢了Apache CXF的FAQ之后。

我使用OS X的最新jdk 6以及新的openjdk7和oracle jdk7進行了集成測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM