Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » WebService/XML/JSON/SOAP/SOA » Web Services  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 关于Axis返回自定义类对象数组的问题
cengjin





发贴: 1
积分: 0
于 2005-11-24 10:37 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
服务器端程序:
package com.kavon.array;

import com.kavon.array.*;

public class ArrayTest{

public String[] getArray(){
String[] result = {"111111111","2222222222","33333333333"};
System.out.println("************return1");
return result;
}

public Message[] getMultiMessages(){
Message[] ms = new Message[2];
ms[0].setContent("111111111");
ms[0].setFrom("1111111111");
ms[0].setTo("1111111");
ms[0].setPriority(1);


ms[1].setContent("222222222");
ms[1].setFrom("222222222222");
ms[1].setTo("22222222222");
ms[1].setPriority(2);
System.out.println("************return2");
return ms;
}

public Message getSingleMessage(){
Message ms = new Message();
ms.setContent("3333333333");
ms.setFrom("33333333333333");
ms.setTo("33333333333333333");
ms.setPriority(3);

System.out.println("************return3");
return ms;
}
}
客户端程序:
package com.kavon.array;

import com.kavon.array.*;

public class Main{
public static void main(String[] args) throws Exception{
ArrayTestService arrayTestService = new ArrayTestServiceLocator();

ArrayTest_PortType arrayTest_PortType = arrayTestService.getArrayTest();
String[] mes = arrayTest_PortType.getArray();
for(int i = 0; i < mes.length; i++){
System.out.println(mes);
}

Message ms1 = arrayTest_PortType.getSingleMessage();
System.out.println("***************");
System.out.println(ms1.getContent());
System.out.println(ms1.getFrom());
System.out.println(ms1.getTo());
System.out.println(ms1.getPriority());
System.out.println("***************");


Message[] ms = arrayTest_PortType.getMultiMessages();
for(int i = 0; i < ms.length; i++){
System.out.println("***************");
System.out.println(ms.getContent());
System.out.println(ms.getFrom());
System.out.println(ms.getTo());
System.out.println(ms.getPriority());
System.out.println("***************");
}
}
}

前两个方法都调用成功,调用第三个方法时抛出异常
输出结果如下:
111111111
2222222222
33333333333
***************
3333333333
33333333333333
33333333333333333
3
***************
Exception in thread "main" AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.NullPointerException
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname:Kavon

java.lang.NullPointerException
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder
.java:221)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.
java:128)
at org.apache.axis.encoding.DeserializationContext.endElement(Deserializ
ationContext.java:1087)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endEleme
nt(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scan
EndElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l$FragmentContentDispatcher.dispatch(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(U
nknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(U
nknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown So
urce)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Un
known Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:379)
at org.apache.axis.encoding.DeserializationContext.parse(Deserialization
Context.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnders
tandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
at org.apache.axis.client.Call.invoke(Call.java:2748)
at org.apache.axis.client.Call.invoke(Call.java:2424)
at org.apache.axis.client.Call.invoke(Call.java:2347)
at org.apache.axis.client.Call.invoke(Call.java:1804)
at com.kavon.array.ArrayTestSoapBindingStub.getMultiMessages(ArrayTestSo
apBindingStub.java:220)
at com.kavon.array.Main.main(Main.java:24)
请有经验者提供各种错误的可能,如果有确切的答案是再好不过了!




话题树型展开
人气 标题 作者 字数 发贴时间
12864 关于Axis返回自定义类对象数组的问题 cengjin 4806 2005-11-24 10:37

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923