我创建了一个通过id返回用户数据的Web服务,我使用Hibernate ORM
进行DAO操作。我的Web服务中只有一个xml文件,它是hibernate.cfg.xml
。这是我的档案hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
<property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@devoradb.test:1521:orcl</property>
<property name="hibernate.connection.username">mistest</property>
<property name="hibernate.connection.password">123</property>
<mapping class="mis.pojos.ministry.MinistryPosition" ></mapping>
<mapping class="mis.pojos.ministry.StructureOfMinistry" ></mapping>
<mapping class="mis.pojos.software.ModuleInSoftware" ></mapping>
<mapping class="mis.pojos.software.CategoryInSoftware" ></mapping>
<mapping class="mis.pojos.software.Software" ></mapping>
<mapping class="mis.pojos.software.ColorCode" ></mapping>
<mapping class="mis.pojos.user.DigitalSmartCard" ></mapping>
<mapping class="mis.pojos.user.IdCard" ></mapping>
<mapping class="mis.pojos.user.UserModule" ></mapping>
<mapping class="mis.pojos.user.UserRole" ></mapping>
<mapping class="mis.pojos.user.UserSoftware" ></mapping>
<mapping class="mis.pojos.user.Restraining" ></mapping>
<mapping class="mis.pojos.user.User" ></mapping>
<mapping class="mis.pojos.software.ColorCode" ></mapping>
<mapping class="mis.pojos.user.LoginInfo" ></mapping>
<mapping class="mis.pojos.user.LoginToken" ></mapping>
<mapping class="mis.pojos.user.UserCategory" ></mapping>
<mapping class="mis.pojos.user.LaborContract"></mapping>
</session-factory>
</hibernate-configuration>
当我在任何应用程序中运行getUserById(long id)
webMethod时,我遇到了异常。
Exception in thread "main" com.sun.xml.internal.ws.encoding.soap.DeserializationException: [failed to localize] Failed to deserialize the response.(javax.xml.bind.UnmarshalException
- with linked exception:
[javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,25392]
Message: XML document structures must start and end within the same entity.])
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:111)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:77)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:147)
at com.sun.proxy.$Proxy36.getUserById(Unknown Source)
at Test.getUserById(Test.java:13)
at Test.main(Test.java:7)
Caused by: javax.xml.bind.UnmarshalException
- with linked exception:
[javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,25392]
Message: XML document structures must start and end within the same entity.]
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:470)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:402)
at com.sun.xml.internal.bind.v2.runtime.BridgeImpl.unmarshal(BridgeImpl.java:109)
at com.sun.xml.internal.bind.api.Bridge.unmarshal(Bridge.java:222)
at com.sun.xml.internal.ws.db.glassfish.BridgeWrapper.unmarshal(BridgeWrapper.java:257)
at com.sun.xml.internal.ws.client.sei.ResponseBuilder$DocLit.readResponse(ResponseBuilder.java:635)
at com.sun.xml.internal.ws.client.sei.StubHandler.readResponse(StubHandler.java:243)
at com.sun.xml.internal.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:189)
at com.sun.xml.internal.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:276)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:104)
... 5 more
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,25392]
Message: XML document structures must start and end within the same entity.
at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:601)
at com.sun.xml.internal.ws.util.xml.XMLStreamReaderFilter.next(XMLStreamReaderFilter.java:81)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:181)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:400)
... 13 more
Java Result: 1
我用Google搜索了很多次,我无法找到解决问题的确切方法。