I have deployed a VERY simple SmartObject. It has only one method: GetList, which is of type "List", configured as "Continue". This method is bound to a Sharepoint ServiceObject method, which is actually a document library Get List method. I set my SO properties as the ones returned by the method.
When I try to use this SmartObject with the SmartObjectViewer ASP.Net application, I get "Error :The request failed with HTTP status 401: Unauthorized".
Investigating with Windows event viewer and Wireshark, I figured out it has something to do with Kerberos (the detailed error is 401.1), but I don't know what! Probably a missing SPN.
The architecture is the following:
- Server A is the MOSS front-end and, K2 workspace server, and the SmartObjectViewer web application
- Server B is the K2 Server (SmartObjects, ServiceObjects, Workflow)
There is only one service account used for everything. It has SPNs defined for K2 (BlackpearlServer and K2Server), for the involved host headers, and all the machines.
The scenario: I call my SO methodusing the SmartObjectViewer (server A), it should then query the SO server (server B), which will query MOSS (server A) to get the list.