ews-java-api create-contact抛出异常:本地名称不能为null



我正在尝试使用ews-javaapi创建联系人。我尝试使用通过OAuth2工作流获得的accessToken对服务进行身份验证。我得到一个异常Caused by: javax.xml.stream.XMLStreamException: Local name cannot be null

以下是我基于github的示例编写的代码。

String accessToken =null;
    Token token = null;
    try
    {
        token = DatabaseUtils.getaccessTokensAPI(uniqueApiID);
        accessToken=token.getAccessToken();
        ExchangeService service  =  new ExchangeService(ExchangeVersion.Exchange2010_SP2);
        TokenCredentials credentials = new TokenCredentials(accessToken);
        service.setCredentials(credentials);
        service.setUrl(new URI("APP ID URI"));
        Contact contact = new Contact(service);
        contact.setGivenName("ContactName");
        contact.setMiddleName ("mName");
        contact.setSurname("sName");
        contact.setSubject("Contact Details");
        // Specify the company name.
        contact.setCompanyName("technolgies");
        PhysicalAddressEntry paEntry1 = new PhysicalAddressEntry();
        paEntry1.setStreet("12345 Main Street");
        paEntry1.setCity("Seattle");
        paEntry1.setState("orissa");
        paEntry1.setPostalCode("11111");
        paEntry1.setCountryOrRegion("INDIA");
        contact.getPhysicalAddresses().setPhysicalAddress(PhysicalAddressKey.Home, paEntry1);
        contact.save();
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }

我不确定是否只能使用访问令牌来验证服务,也不确定使用什么作为参数服务。setUrl()应用程序ID URI合适吗?

感谢您的帮助。

ExchangeService.SetUrl的目的是设置EWS端点的URL,而不是设置您的应用程序id。假设这是Office 365,您应该将其设置为https://outlook.office365.com/ews/exchange.asmx

最新更新