My this blog is directly or indirectly associated to the Thomson Reuters internal blogs because whenever I was on low of my mood elevator while working on these QCs, these blogs have fostered me to try solving the error again and again.
This was the first requirement related to Salesforce Web Services on which I was working from the scratch. I encountered many problems, solved many errors and finally learnt many new concepts on the way.
One of such errors which made me go mad and challenging me everyday was :
System.CalloutException: Web service callout failed: Unable to parse callout response. Apex type not found for elementhttp://west.thomson.com/crm/rocketxsd/4.0/invoice=OpenClearedItems
It is torturing me mentally (being on low mood elevator) since last few days in succession and no progress was made. Lots of email exchange between Dev team and Web Service side, Code debugging and SOAPUI testing many number of times and what not we did. Never I had used Developer Console, Debug Log that many times in my work.
I am going to mention solutions/lessons which I learned while working on QC 3996(Accounts Receivable Data in S2E) & QC 3891(Invoice Image Capture Integration–IXOS) for August Release. With so much consistent and repeatitive effort, the QC finally signed off into QA environment today.
So here I am enumerating some of the concepts which I learned with regard to this QC.
First Learning
After raising a case with Salesforce.com support, this is the response which I got from Salesforce:
xsd:element In Apex code saved using API version 15.0 and later, the ref attribute is also supported with the following restrictions:
- You cannot call a ref in a different namespace.
- A global element cannot use ref.
- If an element contains ref, it cannot also contain name or type.
- See more at SOAP Services: Defining a Class from a WSDL Document
And in Invoice WSDL, I find ref being used at:
Later on WSDL was changed considering the limitations under which ref could be used. Problem solved!
Second Learning
I wanted to open the document in a new tab on clicking commandLink on the VF page. However, it was not allowing me to do so.
- Reason of the issue:
- reRender attribute was not allowing to open the document in a new tab but in the same. reRender attribut was removed. Problem solved!
Third Learning
Extensive use of Debug Log, Developer Console, SoapUI for debugging and testing.
Fourth Learning
From Test Classes, we cannot give a Web Service callouts. So in order to cover those piece of code under WebServiceCallout.invoke(), using Test.isRunningTest() methods for getting mock web service responses would help in increasing the test class coverage.
Fifth Learning
More importantly, I get to learn the importance of Collaboration, Teamwork, Positive Intent, Mood Elevator et al.
Have you ever come across any learning while working. Please do share with us.
It has been a challenging learning with these QCs 3996 and 3891.
No comments:
Post a Comment
Thank you for visiting. Your comments are highly appreciated.