标签: jaxb

JPA 中黑白可空关键字和可空关键字有什么区别?

能否请任何人解释一下以下声明的含义

@Column(nullable = false )
@XmlElement(required = true, nillable = true )
Run Code Online (Sandbox Code Playgroud)

这意味着 nullable 和 nillable 之间的区别?

java jpa jaxb

2
推荐指数
1
解决办法
1335
查看次数

在Java中用于XML编组/解组我们应该从JAXB,JIBX,CASTOR,ADB etx使用哪个实用程序?

在Java for XML编组/解组中,可以使用JAXB,JIBX,CASTOR,ADB等.但是这些是最通用和常用的吗?或者还有其他可用的实用程序吗?

java xml castor jaxb jibx

1
推荐指数
1
解决办法
2363
查看次数

在JAXB中编组抽象类的arraylist

我有一个Java应用程序,我想用XML而不是数据库保存数据.

我们决定使用JAXB而不是基于模式生成文件,我们只是在Java文件中添加了注释.

我们遇到的问题是我们有一个名为Node的抽象类的ArrayList.Node具有Module或ScreenImage的子类.当我们编组arraylist时,它不会保存类型.如:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Module"
Run Code Online (Sandbox Code Playgroud)

JAXB是否支持抽象元素?

如何让JAXB保存类型,以便我可以解组它?

java jaxb

1
推荐指数
1
解决办法
4301
查看次数

如何防止JAXB从导入的模式生成Java?

我有两个Java项目,都基于模式定义生成Java类,我使用xjc来创建类.

我的第二个项目依赖于第一个项目中的一个类,特别是我想在第二个项目中生成的一个类需要使用第一个项目中的一个类.

要在模式级别实现此依赖性,我使用一个简单的xsd:import方法将命名空间映射到特定模式.

JAXB在这种情况下运行得很好,除了它还在第二个项目中生成第一个项目的类型.所以跑完后有这样的事情:

Project A
  +-- com.foo.bar
    +-- TypeA

Project B
  +-- com.foo.asdf
    +-- TypeB
  +-- com.foo.bar
    +-- TypeA

第二个"TypeA"是不受欢迎的,我想从不首先生成它.如何指示JAXB不生成由于import语句而找到的"TypeA"类?

java jaxb

1
推荐指数
1
解决办法
3707
查看次数

XJC生成了名称空间

我正在尝试*.xsd使用xjc代码生成工具从文件包生成java源文件.

这些*.xsd文件中使用的命名空间如下:

http://www.domain.com/foo/bar.x  
http://www.domain.com/foo/bar.x.y  
http://www.domain.com/foo/bar.x.y.z  
Run Code Online (Sandbox Code Playgroud)

XJC生成包如下:

com.domain.foo.bar.x并从"... x"和"... xy"xsd名称空间放置生成的java文件

com.domain.foo.bar.x_y并从"... xyz"xsd名称空间放置生成的java文件

我想在这里实现的是正确的:

com.domain.foo.bar.x  
com.domain.foo.bar.x.y  
com.domain.foo.bar.x.y.z package names  
Run Code Online (Sandbox Code Playgroud)

这有点可能吗?也许使用自定义JAXB绑定?我研究过jaxb自定义绑定文档,但我不确定它是否可行.

基本上我希望xjc同时处理"/"和"." 作为包分隔符.

任何帮助赞赏.

阿德尔伯特

java namespaces jaxb xjc

1
推荐指数
1
解决办法
5979
查看次数

无法找到媒体类型的JAXBContextFinder:application/json

我有开发resteay + ejb + json的问题.使用Jboss-5.1.0.GA.我从resteasy-jaxrs得到了例子并且适合我的情况.在jboss-5.1.0.GA\server\default\lib \中添加了jar(这个问我jboss.在其他情况下捕获异常 - 类未找到)

resteasy-jaxb-provider-1.2.1.GA jaxrs-api-2.0.1.GA resteasy-jaxrs-2.0.1.GA

得到例外

    09:43:15,502 ERROR [SynchronousDispatcher:error] Failed executing GET /basic
    org.jboss.resteasy.plugins.providers.jaxb.JAXBMarshalException: Could not find JAXBContextFinder for media type: application/json    
   at org.jboss.resteasy.plugins.providers.jaxb.AbstractJAXBProvider.findJAXBContext(AbstractJAXBProvider.java:50)
    at org.jboss.resteasy.plugins.providers.jaxb.AbstractJAXBProvider.getMarshaller(AbstractJAXBProvider.java:127)
    at org.jboss.resteasy.plugins.providers.jaxb.AbstractJAXBProvider.writeTo(AbstractJAXBProvider.java:103)
Run Code Online (Sandbox Code Playgroud)
<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-jaxrs</artifactId>
    <version>2.0.0.GA</version>
</dependency>
<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-jaxb-provider</artifactId>
    <version>1.1.GA</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
@Stateless
public class SimpleResourceBean implements SimpleResource {

    @Override
    public Book getBasic() {
        System.out.println("getBasic()");
        return new Book("AAA", "CCC", "SSSS");
    }  
}
Run Code Online (Sandbox Code Playgroud)
@Path("/")
public interface SimpleResource {

    @GET
    @Path("basic")
   // @Produces("text/plain")
    @Produces("application/json")
    Book getBasic();

}
Run Code Online (Sandbox Code Playgroud)
@BadgerFish
@XmlRootElement(name = …
Run Code Online (Sandbox Code Playgroud)

json ejb jaxb resteasy

1
推荐指数
1
解决办法
6546
查看次数

将SOAP消息解组到Java /或只是解析SOAP消息?

我面对这个问题已经有一个多月了,因此,您的帮助让我感到非常满意,实际上,我在询问一种可以让我解析SOAP消息(请求)以检索所需信息的方法,例如安全信息(如果有)以及消息正文中的信息


感谢您回答我,但是知道我正在处理另一个问题,即WS-SecurityPolicy,我必须最终解析一个像这样的xml文件: <?xml version="1.0" encoding="UTF-8"?>

    <sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
      <wsp:Policy>
        <sp:TransportToken>
          <wsp:Policy>
            <sp:HttpsToken RequireClientCertificate="false"/>
          </wsp:Policy>
        </sp:TransportToken>
        <sp:AlgorithmSuite>
          <wsp:Policy>
            <sp:Basic128/>
          </wsp:Policy>
        </sp:AlgorithmSuite>
        <sp:Layout>
          <wsp:Policy>
            <sp:Lax/>
          </wsp:Policy>
        </sp:Layout>
        <sp:IncludeTimestamp/>
      </wsp:Policy>
    </sp:TransportBinding>
    <sp:SignedSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
        <wsp:Policy>
            <sp:UsernameToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient" />
      </wsp:Policy>
    </sp:SignedSupportingTokens>
Run Code Online (Sandbox Code Playgroud)

'

知道此XML文件名为Policy.xml,并且包含必须存在的WS-SecurityPolicy规则。

java soap jaxb unmarshalling saaj

1
推荐指数
1
解决办法
2万
查看次数

使用JAXB的Marshal内部类 - Java

我在JAXB http://blog.adamsbros.org/2010/02/07/jaxb-example-code/上遵循了以下教程,并希望修改它以包含我想要作为嵌套(内部)类的类如下:

import javax.xml.bind.JAXBContext; 
import javax.xml.bind.JAXBException; 
import javax.xml.bind.annotation.*; 
import java.io.StringReader; 
import java.io.StringWriter; 

public class HighlevelClass
{


@XmlRootElement(name = "employee")
@XmlAccessorType(XmlAccessType.FIELD)
public class Employee
{

    @XmlAttribute
    public int id;

    @XmlElement
    public
    String firstName;

    @XmlElement
    public
    String middleName;

    @XmlElement
    public
    String lastName;

    public Employee()
    {
    }

}

public static void main(String args[]) throws JAXBException
{

    HighlevelClass HClass = new HighlevelClass();
    Employee john = HClass.new Employee();
    john.firstName = "John";
    john.middleName = "Robert";
    john.lastName = "Doe";
    john.id = 1;

    // write it out …
Run Code Online (Sandbox Code Playgroud)

java jaxb inner-classes

1
推荐指数
1
解决办法
9296
查看次数

我怎样才能用JAXB解组

使用JAXB在Web服务上解组.xml时遇到问题.

这是从某个客户端发送到Web服务的.xml文件.

<?xml version="1.0" encoding="UTF-8"?>
<PERSON xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="file:/D:/MyWorkSpace/JAVA%20WEB%20Services%20DEVELOPER/XML%20Workspace/Persons.xsd">
    <NAME>Michael</NAME>
    <AGE>12</AGE>
    <ADRESS>
        <STREET>Somewhere in Spain</STREET>
        <ZIP>47015</ZIP>
    </ADRESS>
    <HOBY indoorHoby="true"/>
</PERSON>
Run Code Online (Sandbox Code Playgroud)

这是解组的方法

    @POST
    @Path("/XMLArrivalBeacon")
    @Consumes(MediaType.APPLICATION_XML)
    public Response methodI(String content) {
        System.out.print(content);
        try {
            //Unmarshaling            
            JAXBContext context = JAXBContext.newInstance(Person.class);
            Unmarshaller unmarshaller = context.createUnmarshaller();
            //Unmarshal the String
            Person person = (Person) unmarshaller.unmarshal(new StreamSource(new StringReader(content)));
            //Checking that the values were recieved ok
            System.out.print(person.getName());
            return Response.ok("XML recieved from client!!!").build();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
Run Code Online (Sandbox Code Playgroud)

这是使用JAXB注释注释的person类(从Schema自动生成)

package bindedschemas;

import java.math.BigInteger;
import javax.xml.bind.annotation.XmlAccessType; …
Run Code Online (Sandbox Code Playgroud)

java rest web-services jaxb java-ee

1
推荐指数
1
解决办法
1773
查看次数

JAXB和@XmlType propOrder属性

有这个方法:

public Boolean isCorrect() {
    return correct;
}
Run Code Online (Sandbox Code Playgroud)

我不能写:

@XmlType(propOrder = {"id", "description", "correct"})
Run Code Online (Sandbox Code Playgroud)

因为它似乎依赖于访问者方法的命名get...可以is..改用吗?

java jaxb java-ee

1
推荐指数
1
解决办法
3514
查看次数

标签 统计

jaxb ×10

java ×9

java-ee ×2

castor ×1

ejb ×1

inner-classes ×1

jibx ×1

jpa ×1

json ×1

namespaces ×1

rest ×1

resteasy ×1

saaj ×1

soap ×1

unmarshalling ×1

web-services ×1

xjc ×1

xml ×1