[ https://issues.apache.org/jira/browse/CXF-6445?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp resolved CXF-6445. ------------------------------ Resolution: Won't Fix Fix Version/s: Invalid Marking as won't fix. The types CXF supports are those required by the JAX-WS spec. Beyond those, JAX-WS expects to use a DataHandler that would handle mapping the type to the appropriate byte[] and content-type. > javax.xml.ws.soap.SOAPFaultException: Attachments of type class [CLASS] are > not supported > ----------------------------------------------------------------------------------------- > > Key: CXF-6445 > URL: https://issues.apache.org/jira/browse/CXF-6445 > Project: CXF > Issue Type: Task > Components: JAX-WS Runtime > Affects Versions: 2.7.16 > Environment: Linux > Reporter: Ivanto > Priority: Blocker > Fix For: Invalid > > > hi, > I'm using a customer wsdl for sending web service request as SOAP with > attachment. > Below are operation generated by cxf wsdl2java > {quote} > @WebService(targetNamespace = "http://customs.govt.nz/jbms/msggate/match/v1", > name = "SubmitLodgementPortType") > @XmlSeeAlso({un.unece.uncefact.codelist.standard.iana.mimemediatype._2013_01_03.ObjectFactory.class, > ObjectFactory.class, > nz.govt.customs.jbms.msggate.ackresp.v1.ObjectFactory.class, > nz.govt.customs.jbms.msggate.dochdr.v2.ObjectFactory.class}) > @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) > public interface SubmitLodgementPortType { > @WebResult(name = "MessageInfo", targetNamespace = > "http://customs.govt.nz/jbms/msggate/ackresp/v1", partName = "MessageInfo") > @WebMethod(operationName = "executeTSW_BP_SUBMIT_WS_LODGEMENT", action = > "sii:TSW_BP_SUBMIT_WS_LODGEMENT") > public nz.govt.customs.jbms.msggate.ackresp.v1.MessageInfo > executeTSWBPSUBMITWSLODGEMENT( > @WebParam(partName = "manifest", name = "DocumentManifest", > targetNamespace = "http://customs.govt.nz/jbms/msggate/dochdr/v2") > nz.govt.customs.jbms.msggate.dochdr.v2.Manifest manifest, > @WebParam(partName = "attachment", name = "attachment", > targetNamespace = "http://customs.govt.nz/jbms/msggate/match/v1") > Binary attachment > ); > {quote} > The operation suppose to send attachment in Binary object. > I execute the operation under my WSClient code as below: > {quote} > attachment.setHref("cid:attachment=149883119_1433466652776"); > attachment.setValue(test.getBytes(Charset.forName("UTF-8"))); > MessageInfo m = port.executeTSWBPSUBMITWSLODGEMENT(manifest, attachment); > {quote} > And I'm getting below error message when doing the web service call: > {quote} > javax.xml.ws.soap.SOAPFaultException: Attachments of type class > nz.govt.customs.jbms.msggate.match.v1.Binary are not supported. > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:161) > at com.sun.proxy.$Proxy40.executeTSWBPSUBMITWSLODGEMENT(Unknown > Source) > at WSClient.main(WSClient.java:67) > Caused by: org.apache.cxf.interceptor.Fault: Attachments of type class > nz.govt.customs.jbms.msggate.match.v1.Binary are not supported. > at > org.apache.cxf.jaxws.interceptors.SwAOutInterceptor.processAttachments(SwAOutInterceptor.java:235) > at > org.apache.cxf.jaxws.interceptors.SwAOutInterceptor.handleMessage(SwAOutInterceptor.java:153) > at > org.apache.cxf.jaxws.interceptors.SwAOutInterceptor.handleMessage(SwAOutInterceptor.java:74) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) > at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:516) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:425) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:326) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:279) > at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139) > {quote} > Looking at SwAOutInterceptor.java code, it only some attachment object > (String, Image, etc). My attachment is a custom object / complex type. > Just wondering anyone can help me to work around this issue? > Regards, > ivanto -- This message was sent by Atlassian JIRA (v6.3.15#6346)