I'm trying to create work items in Polarion via the SOAP Web Services, however i can't figure out which content is expected. I'm using the TrackerWebService WSDL.
Example Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:trac="http://ws.polarion.com/TrackerWebService-impl"
xmlns:trac1="http://ws.polarion.com/TrackerWebService-types"
xmlns:proj="http://ws.polarion.com/ProjectWebService-types"
xmlns:typ="http://ws.polarion.com/types">
<soapenv:Header>
<ns1:sessionID soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next"
soapenv:mustUnderstand="0" xmlns:ns1="http://ws.polarion.com/session"
>........sessionId.........</ns1:sessionID>
</soapenv:Header>
<soapenv:Body>
<trac:createWorkItem>
<trac:content>
<trac1:description>
<typ:type>text/html</typ:type>
<typ:content>test</typ:content>
<typ:contentLossy>false</typ:contentLossy>
</trac1:description>
<trac1:project>
<proj:id>....projectId....</proj:id>
</trac1:project>
<trac1:type>
<trac1:id>testcase</trac1:id>
</trac1:type>
</trac:content>
</trac:createWorkItem>
</soapenv:Body>
</soapenv:Envelope>
Response:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Server.userException</faultcode>
<faultstring>java.lang.ClassCastException</faultstring>
<detail>
<ns1:stackTrace xmlns:ns1="http://xml.apache.org/axis/">java.lang.ClassCastException</ns1:stackTrace>
<ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">...server hostname....</ns2:hostname>
<ns3:isRuntimeException xmlns:ns3="http://xml.apache.org/axis/">true</ns3:isRuntimeException>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
There are a few points I'm unsure about:
- Do i need to send all xml elements, even if they're empty?
- I don't know what the 'Unresolvable' attribute is, i also can't find a description of it
- When does one of the subterra uri's need to be specified and when can it be omitted?
- Even when i specify such a uri, it will then throw another error, saying that the URI isn't a normId