草庐IT

JAX-RS-Jersey

全部标签

java - WSDL 中忽略的 JAX-B 全局绑定(bind)

我有一个WSDL,我从中生成NetBeans中的类。未更改的副本有日期,这些日期生成为XMLGregorianCalendar。我试图覆盖该行为并插入一个全局绑定(bind)标记,以便它生成一个JavaDate。但是,无论我将绑定(bind)标记放在哪里(如下所示),它都会被忽略,并且将XMLGregorianCalendar用作日期类型。有人可以告诉我我是否在正确的轨道上,以及在哪里放置覆盖?下面也是WSDL的整体布局。经过编辑的WSDL,显示了我认为相关的部分: 最佳答案 我认为您缺少上的命名空间前缀元素-它需要位于JAXB命名

xml - JAXB(在 Jersey JAX-RS 中)是否有可能支持 java.util.HashMap 的 XML 和 JSON 格式

我正在使用JAX-RS的Jersey实现来创建RESTful服务。我希望该服务通过JAX-RS中内置的非常方便的JAXB支持来支持XML和JSON响应。在我尝试使用java.util.HashMap之前,一切都运行良好(注意:您不能将接口(interface)与JAXB一起使用)。我惊讶地发现JAXB不支持内置的XMLmap,尽管JacksonJSONJAXB插件确实支持。第一次尝试:@XmlElement(name="Links")HashMaplinks=newHashMap();XML输出为空:JSON输出正确:"Links":{"status":{...},"cancel":{

xml - jax-ws 如何在 wsdl 中包含 xml 模式而不是 xsd 导入?

我注意到我的wsdl有一个xsd:import从url导入xml模式。我必须做什么才能在wsdl本身中显示xml模式?我预计将使用我的Web服务的另一个团队将需要它。我不知道他们为什么需要它,但如果他们提出要求,我想知道该怎么做。 最佳答案 只需放置整个xml模式而不是元素。一个简单的例子只是为了看看它会是什么样子:您可以在W3Schools中找到WSDL基础知识和一些在here中解释的WSDL示例. 关于xml-jax-ws如何在wsdl中包含xml模式而不是xsd导入?,我们在Sta

java - 摆脱 JAX-WS 中的空 xmlns 元素

我正在尝试使用JAX-WS客户端生成这样的请求:BPM11957T201508101626333904816BPMP240000000En6060OprtSupportReviewer6060但是请求是这样生成的:OLPM201508261333149660000020BPMP24000000En60606060添加的标签xmlns=""在服务器端造成问题这是我的处理程序的代码,它用SOAP信封包围请求if(outboundProperty.booleanValue()){try{SOAPMessagesoapMessage=context.getMessage();SOAPEnvel

java - JAX-B : dynamically generate element name from XMLAttribute

我正在使用JAX-B(v.2.2.12)编码Java对象树。要编码的类之一是CaseObject:publicclassCaseObject{...@XmlAnyElement@XmlJavaTypeAdapter(ParameterAdapter.class)protectedListcaseObjects;...}编码后的当前xml表示:......所需的目标xml表示:......我通过扩展@XmlAdapter来尝试使用以下代码段(examplefromablog):@OverridepublicElementmarshal(CaseObjectcaseObject)throw

java - 如何保护 Jersey 服务器上的 xml 请求?

我目前有一个使用jersey-server1.1框架创建的简单xml端点(示例)。它使用以下符号使用和生成XML:@POST@Path("/post")@Consumes(MediaType.APPLICATION_XML)@Produces(MediaType.APPLICATION_XML)publicResponsegetEmployee(Employeeemployee){returnResponse.status(Status.OK).entity(employee).build();}但是端点容易受到XXE攻击。(例子)也可以让我的服务器使用这种表示法来请求任何端点....

xml - JAX-B 能否逐字包含 XML 值属性?

我有一个对象,它是网络服务方法的返回值。它的一个属性包含一个XML文档。理想情况下,我希望JAX-B在Web服务响应中逐字包含该XML文档,而不是转义所有内容或不得不解码它以允许Web服务映射立即再次编码它。这可以通过注释或自定义绑定(bind)定义来完成吗?编辑:我想要这样做的原因是XML文档是从Oracle数据库(列类型XmlType)中检索的,而且我通常希望避免不必要的解析/格式化步骤将其输出到Web服务客户端。 最佳答案 我认为您必须首先将XML字符串转换为org.w3c.dom.Element对象,将其添加到您的模型中,并

java - 如何使用 JAX-B 处理接口(interface)的各种具体实现

我有一个类,我需要将其编码为XML。@XmlRootElement@XmlAccessorType(XmlAccessType.FIELD)publicclassClassToBeMarshalled{publicInterfaceobject;}接口(interface)由许多具体类实现,其中大部分是特定于供应商的,我无法访问其源代码。所以我的问题是:如果我尝试编码该类,JAX-B会提示当前接口(interface)的具体实现在上下文中未知-换句话说,具体类未通过调用提供的JAXBContext.newInstance加载到上下文中当前实现。解决该问题的最常见方法是:1)使用XMLS

xml - 无法将 Jersey 资源类加载到 JBoss 7

Jersey-1.16JBoss-7.1.2决赛有了上面的内容,我无法将资源类加载到JBoss并且它提示以下错误。ERROR[[/]]Servletthrewload()exception:javax.servlet.ServletException:Resourceconfigurationclass,biz.bsite.direct.spring.mobile.AddressbookResource,isnotasuperclassofclassjavax.ws.rs.core.Applicationatcom.sun.jersey.spi.container.servlet.We

xml - Jersey 2 (JAXB) XML 元素案例,列表不支持 XmlRootElement

我们刚刚将一项服务从Jersey1.x升级到2.10.x,并且发现了一些意外行为。我们有一个这样的类,它被注释为“用户”而不是“用户”:@XmlRootElement(name="User",namespace="security.services.pml.com")publicclassUser{@XmlElement(namespace="security.services.pml.com",required=true)protectedStringname;@XmlElement(namespace="security.services.pml.com",required=tru