soap java point_java 访问SharePointWebService 报错

本文介绍了一个使用Java访问特定WebService时出现的异常情况,并提供了具体的代码示例。主要问题是关于SOAPFaultException异常处理,涉及域验证、命名空间及类型转换等潜在原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java访问webservice报错:

直接贴代码:

访问的时候还需要进行域验证:

代码:

public class DefaultAuthen extends Authenticator{

private static String username = "xxxxxx";

private static String domain = "xxxxx.com";

private static String password = "xxxxx";

public PasswordAuthentication getPasswordAuthentication() {

String usernamewithdomain = domain + "\\" + username;

return (new PasswordAuthentication(usernamewithdomain, password.toCharArray()));

}

}

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

//验证

Authenticator.setDefault(new DefaultAuthen());

ListsSoap list = new Lists().getListsSoap();

GetListItems.Query query = new GetListItems.Query();

GetListItems.ViewFields vf = new GetListItems.ViewFields();

GetListItems.QueryOptions qo = new GetListItems.QueryOptions();

// 增加查询条件

Node elementOptions = generateXmlNode("");

//System.out.println(elementOptions.getAttributes().getNamedItem("Scope"));

//GetListItems.QueryOptions queryOptions = new GetListItems.QueryOptions();

qo.getContent().add(elementOptions);

//ListsSoap port = new Lists().getListsSoap();

///System.out.println(port.getList("中粮通讯录").getContent().get(0).toString());

//调用

GetListItemsResult listItems = list.getListItems("中粮通讯录", null, query,vf, Integer.MAX_VALUE+"", qo, null);

System.out.println(listItems.getContent().size());

}

生成查询条件:

public static Node generateXmlNode(String sXML)

throws ParserConfigurationException, SAXException, IOException {

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

factory.setValidating(false);

DocumentBuilder builder = factory.newDocumentBuilder();

Document documentOptions = builder.parse(new InputSource(new StringReader(sXML)));

Node elementOptions = documentOptions.getDocumentElement();

return elementOptions;

}

错误信息:

Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: 引发类型为“Microsoft.SharePoint.SoapServer.SoapServerException”的异常。

at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(Unknown Source)

at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(Unknown Source)

at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(Unknown Source)

at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(Unknown Source)

at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(Unknown Source)

at $Proxy30.getListItems(Unknown Source)

at com.euc.cofco.client.CallService.main(CallService.java:50)

网上找了一堆资料,暂时怀疑是命名空间的错误和不合法的类型转换;有人遇到过吗?

如果在浏览器里面直接输入wsdl地址,需要输入用户名和密码.....

求大婶解答

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值