我正在编写一个简单的Web服务来返回一个具有2个属性的对象 .
我将服务嵌入到现有的Web应用程序中 .
我的wsdd看起来像这样 .
<globalConfiguration>
<parameter name="adminPassword" value="admin"/>
<parameter name="sendXsiTypes" value="true"/>
<parameter name="sendMultiRefs" value="true"/>
<parameter name="sendXMLDeclaration" value="true"/>
<parameter name="axis.sendMinimizedElements" value="true"/>
<requestFlow>
<handler type="java:org.apache.axis.handlers.JWSHandler">
<parameter name="scope" value="session"/>
</handler>
<handler type="java:org.apache.axis.handlers.JWSHandler">
<parameter name="scope" value="request"/>
<parameter name="extension" value=".jwr"/>
</handler>
</requestFlow>
</globalConfiguration>
<handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
<handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
<handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
<transport name="http">
<requestFlow>
<handler type="URLMapper"/>
<handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
</requestFlow>
</transport>
<transport name="local">
<responseFlow>
<handler type="LocalResponder"/>
</responseFlow>
</transport>
<service name="helloService" provider="java:RPC" style="document" use="literal">
<parameter name="className" value="ws.example.HelloService"/>
<parameter name="allowedMethods" value="*"/>
<parameter name="scope" value="application"/>
</service>
我能够成功部署它 .
如果我尝试调用返回String的方法,它将成功返回String .
但是当我调用返回对象的方法时,我收到以下错误 .
AxisFault faultCode:{http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode:faultString:org.xml.sax.SAXParseException:文件过早结束 . faultActor:faultNode:faultDetail:{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXParseException:文件过早结束 . 位于org.apache.xerces.util.ErrorHandlerWrapper.fatalError(未知来源)的org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(未知来源)org.apache.xerces.impl.XMLErrorReporter.reportError(未知来源)at org位于org.apache的org.apache.xerces.parsers.XML11Configuration.parse(未知来源)org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(未知来源)的.apache.xerces.impl.XMLErrorReporter.reportError(未知来源)位于org.apache.xerces的org.apache.xerces.parsers.AbstractSAXParser.parse(未知来源)org.apache.xerces.parsers.XMLParser.parse(未知来源)的.xerces.parsers.XML11Configuration.parse(未知来源)位于org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)的javax.xml.parsers.SAXParser.parse(SAXParser.java:395)中的.jaxp.SAXParserImpl $ JAXPSAXParser.parse(未知来源) org.apache.axis.Message.getSOAPEnvelope上的.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)(Message.java:424) org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:796)org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)org.apache.axis.strategies上的org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:796) . 在org.apache上的org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)的.InvocationStrategy.visit(InvocationStrategy.java:32) . org.apache.ax中的org.apache.axis.client.Call.invokeEngine(Call.java:2765)中的axis.client.AxisClient.invoke(AxisClient.java:165)(Call.java: 2748)org.apache.axis.client.Call.invoke(Call.java:2424)org.apache.axis.client.Call.invoke(Call.java:2347)atg.apache.axis.client.Call .invoke(Call.java:1804)位于Test.main的Ws.example.ws.HelloServiceSoapBindingStub.getAwardById(HelloServiceSoapBindingStub.java:202)(Test.java:21)
任何人都可以帮忙吗?
1 回答
我按照其他论坛提供的信息对此进行了排序 .
如果需要返回复杂类型,我们需要使用
<beanMapping/>
.谢谢 .