Developer Q&A
What is the correct way of passing ContactName field ?
Our application consumes Corrigo wsld api to create work orders. Our request body looks like this :
String.format("<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope\" xmlns:int="http://corrigo.com/integration/\">\n" +
" <soap:Header>\n" +
" <int:CorrigoNetOptions>\n" +
" <int:ImposeConcurrencyId>false</int:ImposeConcurrencyId>\n" +
" <int:UpdateLastModified>true</int:UpdateLastModified>\n" +
" <int:CanDeleteMissingEntity>false</int:CanDeleteMissingEntity>\n" +
" <int:LockOnDataRetrieval>Default</int:LockOnDataRetrieval>\n" +
" </int:CorrigoNetOptions>\n" +
" </soap:Header>\n" +
" <soap:Body>\n" +
" <int:Execute>\n" +
" \n" +
" <int:commandRequest xsi:type="int:WoCreateCommand" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance\">\n" +
" <int:WorkOrder>\n" +
" <int:Priority>3</int:Priority>\n" +
" <int:TypeCategory>Request</int:TypeCategory>\n" +
" <int:SubType>\n" +
" <int:Id>259</int:Id>\n" +
" </int:SubType>\n" +
" <int:ContactName>%s</int:ContactName>\n" +
" <int:ContactAddress>\n"+
" <int:AddrTypeId>Contact</int:AddrTypeId>\n"+
" <int:ContactAddrType>PrimEmail</int:ContactAddrType>\n"+
" <int:Address>%s</int:Address>\n"+
" </int:ContactAddress>\n"+
" <int:Customer>\n" +
" <int:Id>%s</int:Id>\n" +
" </int:Customer>\n" +
" <int:Items>\n" +
" <int:WoItem>\n" +
" <int:Asset>\n" +
" <int:Id>%s</int:Id>\n" +
" </int:Asset>\n" +
" <int:Task>\n" +
" <int:Id>%s</int:Id>\n" +
" </int:Task>\n" +
" <int:Comment>%s</int:Comment>\n" +
" </int:WoItem>\n" +
" </int:Items>\n" +
"%s"+
" </int:WorkOrder>\n" +
" <int:ComputeSchedule>true</int:ComputeSchedule>\n" +
" <int:ComputeAssignment>true</int:ComputeAssignment>\n" +
" </int:commandRequest>\n" +
" </int:Execute>\n" +
" </soap:Body>\n" +
" </soap:Envelope>", xmlEncode(name),xmlEncode(email),customerId, assetId, taskId, submitterComments, getDocumentString(files));
We are able to successfully make requests using this xml and verify that it is populating the right fields in the Corrigo Console and creating the work order(With a confirmation number). However, we have an internal corrigo system where customers who submitted the order can see their work orders and it's not making it to that system for some reason. The name field we are passing does show up in the Corrigo console but requires an additional step of going in ,clicking edit , doing a look up and hitting save for it to hit our internal system. Name and email field are XML encoded . We have tried it with xmlEncoded and non xmlEncoded requests and we are getting the same results. We could not find a proper documentation for this kind of request. A quick response is appreciated, since this is an urgent issue .