A
Ali Aziz
Has anyone been able to access PSI from a Java client?
For testing, we're using the Microsoft EPM 2007 virtual image that has
everything preinstalled (project and portfolio server, sql server, sharepoint
services, project professional etc.).
We're using a SOAP testing tool called soapUI (built in Java using Apache
Axis2 webservices API) to make test calls to the PSI. However, all responses
we get for seemingly successful calls are empty bodies. We think we're making
successful calls because we get errors in case we pass incorrect parameters.
For example, if we send the following request:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlnsroj="http://schemas.microsoft.com/office/project/server/webservices/Project/">
<soap:Header/>
<soap:Body>
<proj:ReadProjectStatus>
<projrojGuid>ceee4f03-2e15-4458-bb18-07c91f92586b</projrojGuid>
<proj:dataStore></proj:dataStore>
</proj:ReadProjectStatus>
</soap:Body>
</soap:Envelope>
The response is:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<soap:Fault>
<soap:Code>
<soap:Value>soap:Sender</soap:Value>
</soap:Code>
<soap:Reason>
<soap:Text xml:lang="en">Server was unable to read request. --->
There is an error in XML document (6, 43). ---> Instance validation error: ''
is not a valid value for DataStoreEnum.</soap:Text>
</soap:Reason>
<soapetail/>
</soap:Fault>
</soap:Body>
</soap:Envelope>
If we correct the request and use a valid value for the DataStoreEnum i.e.:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlnsroj="http://schemas.microsoft.com/office/project/server/webservices/Project/">
<soap:Header/>
<soap:Body>
<proj:ReadProjectStatus>
<projrojGuid>ceee4f03-2e15-4458-bb18-07c91f92586b</projrojGuid>
<proj:dataStore>PublishedStore</proj:dataStore>
</proj:ReadProjectStatus>
</soap:Body>
</soap:Envelope>
We get a response with an empty body i.e.:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ReadProjectStatusResponse
xmlns="http://schemas.microsoft.com/office/project/server/webservices/Project/"/>
</soap:Body>
</soap:Envelope>
The same hold true for various other operations we have tried e.g.:
ReadProjectList:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ReadProjectListResponse
xmlns="http://schemas.microsoft.com/office/project/server/webservices/Project/"/>
</soap:Body>
</soap:Envelope>
Any idea what may be going on? Has anyone successfully called PSI from java
clients?
Regards,
--Ali
For testing, we're using the Microsoft EPM 2007 virtual image that has
everything preinstalled (project and portfolio server, sql server, sharepoint
services, project professional etc.).
We're using a SOAP testing tool called soapUI (built in Java using Apache
Axis2 webservices API) to make test calls to the PSI. However, all responses
we get for seemingly successful calls are empty bodies. We think we're making
successful calls because we get errors in case we pass incorrect parameters.
For example, if we send the following request:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlnsroj="http://schemas.microsoft.com/office/project/server/webservices/Project/">
<soap:Header/>
<soap:Body>
<proj:ReadProjectStatus>
<projrojGuid>ceee4f03-2e15-4458-bb18-07c91f92586b</projrojGuid>
<proj:dataStore></proj:dataStore>
</proj:ReadProjectStatus>
</soap:Body>
</soap:Envelope>
The response is:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<soap:Fault>
<soap:Code>
<soap:Value>soap:Sender</soap:Value>
</soap:Code>
<soap:Reason>
<soap:Text xml:lang="en">Server was unable to read request. --->
There is an error in XML document (6, 43). ---> Instance validation error: ''
is not a valid value for DataStoreEnum.</soap:Text>
</soap:Reason>
<soapetail/>
</soap:Fault>
</soap:Body>
</soap:Envelope>
If we correct the request and use a valid value for the DataStoreEnum i.e.:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlnsroj="http://schemas.microsoft.com/office/project/server/webservices/Project/">
<soap:Header/>
<soap:Body>
<proj:ReadProjectStatus>
<projrojGuid>ceee4f03-2e15-4458-bb18-07c91f92586b</projrojGuid>
<proj:dataStore>PublishedStore</proj:dataStore>
</proj:ReadProjectStatus>
</soap:Body>
</soap:Envelope>
We get a response with an empty body i.e.:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ReadProjectStatusResponse
xmlns="http://schemas.microsoft.com/office/project/server/webservices/Project/"/>
</soap:Body>
</soap:Envelope>
The same hold true for various other operations we have tried e.g.:
ReadProjectList:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ReadProjectListResponse
xmlns="http://schemas.microsoft.com/office/project/server/webservices/Project/"/>
</soap:Body>
</soap:Envelope>
Any idea what may be going on? Has anyone successfully called PSI from java
clients?
Regards,
--Ali