Wednesday, January 30, 2013

Debugging, testing and tracing SOAP messages

The past few weeks, I have been blogging about the challenges I had consuming a SOAP webservice. In this (probably) final blog on this topic, I will focus on debugging tracing an analysing the code.

Wednesday, January 23, 2013

OAUTH2.0 and HTTP header adjustments.

In the last few blogs, I have been talking about the SOAP webservice I have been interfacing to. In this particular interface only OAUTH2.0 is supported as authentication protocol

Let’s take a look at OAUTH2.0.

OAUTH2.0 is an Open authentication protocol as described in RFC 6749. As a lot of information is available on the internet concerning OAUTH, I will stick to references to proper documentation.

OAUTH2.0 is supported by many libraries such as PHP, JAVA, Python, Ruby, .NET etc.
As we want to communicate to the SOAP webservice directly from ABAP, this creates an interesting challenge, so we dove deep into the OAUTH2.0 protocol, and found that it should be possible to create the OAUTH handshake using the code exchange project OAuth2.

Wednesday, January 16, 2013

Using client proxies in ABAP coding

Last week I posted an article about how to import WSDL files (WebService Definitions) into SAP.
This was done in SE80  ->edit object -> Tab ‘Enterprise Services’ -> Client Proxy.

The result is a generated proxyclass. Today we are going to take a look at this proxy class and see how this can be used in ABAP coding, resulting in calling the functions from the webservice.

Wednesday, January 9, 2013

Direct SOAP communication between SAP and external systems using client proxies

This is probably the most technical blog I have written so far.
A few weeks ago I accepted the challenge to set up a realtime SOAP interface between SAP CRM and an external application. Connecting to this (Google) application has several challenges.
  1. It consists of about 20 webservices
  2. The authentication procedure is OAuth2.0
  3. The documentation clearly states that it is not recommended to build your own interface from scratch, but to always use the delivered client libraries (available in Java, Python, PHP, .NET and Ruby).
  4. The API is not widely implemented yet.
So, enough ingredients for a good struggle. So, let’s see what happened…

Wednesday, January 2, 2013

SAP CRM Client Groupware enhancements

What if you are using client groupware integration and you would like to enhance the functionality, for instance because SAP's logic does not match your business requirements.

Let's say as an example, you disagree that deleting a contact from outlook should mean that the contact should be archived in SAP CRM. After all, users might be deleting a contact in outlook because this particular contact is of no interest for them, but this does not necessarily mean that the contact is of no interest for your SAP CRM system.