草庐IT

java - 如何解码 FaultMessageResolver 中的 SOAP 错误?

我是Spring-WS的新手,正在慢慢了解它。现在,我正在编写一个简单的客户端来与现有的WS进行通信。我正在使用WebServiceTemplate和marshalSendAndReceive方法。一切正常。但是,当发生SOAP错误时,WST会抛出SoapFaultClientException。我注意到我可以创建自己的FaultMessageResolver来检查SOAP错误中包含的内容。但是,当我尝试在我的FaultMessageResolver中解码WebServiceMessage时,我收到以下错误消息:JAXBunmarshallingexception;nestedexce

java - JAXB 混合版本?未定义 'required' 属性

我使用wsimportmaven插件从WSDL文件生成一些类@MuleAnypointStudio3.5withJDK1.7_55我正在使用jaxb2.2.7并从mule库中删除版本2.1.9并替换为2.2.7。当我编译时,sometines工作正常但其他人多次出现此错误:TheattributerequiredisundefinedfortheannotationtypeXmlElementRef我尝试在JDK中创建一个endorsed文件夹并包含所需的.jars,您知道如何避免此错误或正确替换此库吗?我在pom.xml中包含了这个依赖com.sun.xml.wsjaxws-tool

java - 从 xsd 生成 jaxb 对象时如何使用类自定义来解决冲突

当我在以下xsd上运行xjc-dsrc/-pcom.testIFC2X3.xsd命令时,出现了冲突。........错误:parsingaschema...compilingaschema...[ERROR]Aclass/interfacewiththesamename"com.test.IfcCondenserTypeEnum"isalreadyinuse.Useaclasscustomizationtoresolvethisconflict.line14912offile:/media/isuru/Projects/mitrai/bim_exchange/ifc_classes_v

java - Jaxb:global binding Double 类型转换使用 XMLAdapter

我有一个定义为xsd:double的元素。如果我尝试将一个值say285放入元素然后我将其编码,我得到285.0的输出......这很好。但是,如果我将一个值放入285292746,我得到2.85292746E8的输出当我编码(marshal)我喜欢这样的东西,使双输出不会转换为带十进制的科学记数法?基本上我想要285292746或2852292746.0000000java.lang.Double.toString()对某些值使用“计算机科学记数法”,这会产生xml问题。我知道给定值的双重表示很好。但事实上值是指数格式,我正在处理的系统接受我的XML但不知道如何处理指数值,这导致我的

java - JAXB @XmlAdapter : Map -> List adapter?(仅限编码)

我有一个Map.每个人的第一个想法是将其转换为List>(Pair是自定义类)。我试过@XmlAdapter像这样:publicclassMapPropertiesAdapterextendsXmlAdapter,Map>{...}但是EclipseMOXy,我使用的JAXBimpl,以ClassCastException结束。-“无法将HashMap转换为Collection”。JAXB支持这种转换吗?还是我忽略了一些解释为什么不是这样的文档部分?附言:我想得到这样的XML:...我明白了,只需要使用中级类(class)。也描述于HandleNPEinXMLCompositeObje

java - 为什么 JAXB generateElementProperty=false 没有达到预期的效果?

我正在使用以下绑定(bind)文件运行wsimport任务:但是,这会产生带有JAXBElement的类而不是String如getUserSummaryOrTypeOrLogLevel()所示下面@XmlAccessorType(XmlAccessType.FIELD)@XmlType(name="ConfigSLMAction",propOrder={"userSummaryOrTypeOrLogLevel"})publicclassConfigSLMActionextendsConfigConfigBase{@XmlElementRefs({@XmlElementRef(name=

java - 为什么使用 Jersey 在 JSON 中用 @ 返回名称

我使用的JAXB是JerseyJAX-RS的一部分。当我为我的输出类型请求JSON时,我所有的属性名称都以这样的星号开头,这个对象;packagecom.ups.crd.data.objects;importjavax.xml.bind.annotation.XmlAttribute;importjavax.xml.bind.annotation.XmlType;@XmlTypepublicclassResponseDetails{@XmlAttributepublicStringReturnCode="";@XmlAttributepublicStringStatusMessage=

java - 在 JAXB 中控制 namespace 前缀

jaxb如何在编码对象时确定命名空间前缀声明的列表?我使用xjc为ebics(ebicsschema)编译java类。当我为ebicsRequest创建实例时,它看起来像这样:SIZBN001A5488F43223063171CA0FA59ADC635F02009-08-04T08:41:56.967ZEBICSEBIXEBICS-KernelV2.0.4,SIZ/PPIFTBA037OZHNN......00001InitialisationCSbjPbiNcFqSl6lCI1weK5x1nMeCH5bTQq5pedq5uI0=...dFAYe281vj9NB7w+VoWIdfHnj

Java JaxB 生成,如何从我的 xsd 中获取 bigDecimal?

我有一个xsd注释,我试图将其Marshal转换为java对象。我希望java最终以BigDecimal的值(value)结束。我要在xsd中输入什么才能让它执行此操作?我正在使用xjcant任务这是相关的xsd-我想为生成的类结束这个-publicclassSize{@XmlAttribute(name="height")protectedBigDecimalheight;} 最佳答案 AJAXB(JSR-222)实现将从decimal类型生成一个java.math.BigDecimal(参见表6-1JAXB2.2规范)。XML架

java.lang.IllegalStateException : No unmarshaller registered. 检查WebServiceTemplate的配置

当我向服务器发送SOAP请求时,它返回以下错误。我不确定如何配置unmarshaller,我将向多个web服务发送SOAP请求。WSDL是here.我访问了以下页面,但仍未找到解决方案。1,2,3java.lang.IllegalStateException:Nounmarshallerregistered.CheckconfigurationofWebServiceTemplate.atorg.springframework.ws.client.core.WebServiceTemplate$3.extractData(WebServiceTemplate.java:406)ator