cancel
Showing results for 
Search instead for 
Did you mean: 

ESW: ESWorkPlace WebService -> MS SharePoint 2010

Former Member
0 Kudos

Hi,

I try to create an ECT (External Content Type) in MS SharePoint using a Web Service defined in ESWorkPlace.

WebService: SalesOrderERPBasicDataByElementsQueryResponse_In

Internal Name: ECC_Salesorder009QR

The WSDL and the Endpoint are clearly defined in the Service Registry of the WebService, so that "normally" I should be able to use them in order to create an ECT in MS Sharepoint 2010 using a WCF Service (Web Connection Framework).

For the moment I get the message "Cannot find any matching endpoint configuration".

What steps should I untertake for making this work? Could somebody help me with this?

Any help on this would be very appreciated.

Regards,

Serge

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Trevor, Gourav,

It's not a problem with login to HU2-system, before making this tests with SoapUi, I've checked the login to HU2, so far I think no problem from that side.

I have tried using SoapUi for ECC_SALESORDER009QR with following WSDL:

WSDL:

http://erp.esworkplace.sap.com/sap/bc/srt/wsdl/sdef_ECC_SALESORDER009QR/wsdl11/ws_policy/document?sa...

ENDPOINT: http://erp.esworkplace.sap.com/sap/bc/srt/wsdl/bndg_DEA474707912D7F19FD500145E5ADE89/wsdl11/binding/...

and for WSDL I get the error message "Found nothing to import in", is there sth wrong?

Using the endpoint, and sumbmitting a request with SelectionByBuyerPartyInternalID = 1000, I don't get an "adequate" response, should be 2374 records, but an info "erp.esworkplace.sap.com:80 requires authentication with the realm 'SAP Web Application Server HU2'" in Log, and although I've put username and password in Authentification and Security-related Settings on request's side.

May you pls give some hints, as I'm new in Web Services, and my aim would be to consume a web service in MS SharePoint.

Your help would be very appreciated.

Kind Regards,

Serge

Former Member
0 Kudos

Hi Serge,

So there's bad news & there's bad news & then maybe some good news...

I started taking this Enterprise Service through it's paces & SoapUI in a network outside SAP. I'm now experiencing the same issue as you.

The bottom line, if you test this Service using WS Navigator on the HUJ (ES Workplace Java System that you should also have access to) using the binding URL you've specified below, it will work.

User this URL with the same login credentials as HU2: [https://ce.esworkplace.sap.com/wsnavigator]

The issue now arises, on how the service was published to the Services Registry. There are several ways of publishing to the Services Registry. The way adopted in these ES Workplace Systems (publish from the service registry itself) actually split the webservice binding & the webservice definition during publication. The problem with this approach is that it's not that usable by many external systems and tools.

So if you look at the following URL's, use HU2 login credentials to view...

Service Definition:

[http://erp.esworkplace.sap.com/sap/bc/srt/wsdl/sdef_ECC_SALESORDER009QR/wsdl11/standard/document?sap-client=800]

Service Binding:

[http://erp.esworkplace.sap.com/sap/bc/srt/wsdl/sdef_ECC_SALESORDER009QR/wsdl11/standard/document?sap-client=800]

What you're actually looking for is a WSDL with the 2 combined. This you will see in transaction code SOAMANAGER (Open WSDL for Selected Binding option) and since there is no access to SOAMANAGER on HU2 you get a bit stuck. If the Publishing was done from SOAMANAGER instead of straight from the Service Registry, you would have an all inclusive WSDL (definition and binding together). That would then work in SoapUI nicely.

The only other way you are going to get around this is to try & manually create a WSDL incorporating the definition & binding OR another way of doing that is by using the URL below (notice the difference 'allinone'):

[http://erp.esworkplace.sap.com/sap/bc/srt/wsdl/bndg_DEA474707912D7F19FD500145E5ADE89/wsdl11/allinone/standard/document?sap-client=800]

Regards, Trevor

Edited by: Trevor Naidoo on Jul 26, 2011 2:56 PM

Former Member
0 Kudos

Hi Trevor, Gourav,

I share your opinion that It is really a pity, that SAP do not allow to acceed to SOAMANAGER from HU2, it is still possible for HU6.

I've tried to follow your advice and use therefore the following WSDL in SoapUi:

WSDL: http://erp.esworkplace.sap.com/sap/bc/srt/wsdl/bndg_DEA474707912D7F19FD500145E5ADE89/wsdl11/allinone...

Submitting the request on SoapUi with user authentification, and same data as in WSNavigator, I get now following error message: #status# HTTP/1.1 500 Internal Server Error, and no data ...

The found Endpoint is: http://erp.esworkplace.sap.com/sap/bc/srt/pm/sap/ecc_salesorder009qr/800/default_profile/2/binding_t...

The request is as foillows:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:glob="http://sap.com/xi/APPL/Global2">

<soapenv:Header/>

<soapenv:Body>

<glob:SalesOrderERPBasicDataByElementsQuery_sync>

<SalesOrderSelectionByElements>

<!Zero or more repetitions:>

<SelectionByBuyerPartyInternalID>

<!Optional:>

<InclusionExclusionCode>I</InclusionExclusionCode>

<!Optional:>

<IntervalBoundaryTypeCode>1</IntervalBoundaryTypeCode>

<!Optional:>

<LowerBoundaryBuyerPartyInternalID schemeID="" schemeAgencyID="">1000</LowerBoundaryBuyerPartyInternalID>

<!Optional:>

<UpperBoundaryBuyerPartyInternalID schemeID="" schemeAgencyID=""></UpperBoundaryBuyerPartyInternalID>

</SelectionByBuyerPartyInternalID>

</SalesOrderSelectionByElements>

<!Optional:>

<ProcessingConditions>

<QueryHitsMaximumNumberValue>15</QueryHitsMaximumNumberValue>

</ProcessingConditions>

</glob:SalesOrderERPBasicDataByElementsQuery_sync>

</soapenv:Body>

</soapenv:Envelope>

I've tried to use as alternative, the following Endpoint:

http://erp.esworkplace.sap.com/sap/bc/srt/wsdl/bndg_DEA474707912D7F19FD500145E5ADE89/wsdl11/binding/...

but also there no data

Your help would still be appreciated, also to know if you meet the same problem in your environment.

Kind Regards,

Serge

Former Member
0 Kudos

Hi Serge,

It may then be network / proxy related.

If you accessing the web through a proxy server you need to start playing around with ways to get your request out & to the destination service server. First try adding your proxy server details in SoapUI to see if that works.

SoapUI doesn't handle NTLM authentication too well so you'll need something that can. I've used a utility like Burp Suite in the past. So you would essentially route the SoapUI request through Burp Suite which will then do the Proxy (NTLM) authentication for you & forward the request to the endpoint. The response will follow the hop list back to SoapUI.

Sorry, I can't offer any more assistance.

Regards, Trevor

Former Member
0 Kudos

Thank you any way for all your efforts, Trevor,

I will try as you advice me to do, although I've tried at home without using the company's proxy.

Nevertheless, maybe you could try with my request data if it would work in your environment.

In this way I would at least know if the endpoint is really working,

WSDL + ENDPOINT: http://erp.esworkplace.sap.com/sap/bc/srt/wsdl/bndg_DEA474707912D7F19FD500145E5ADE89/wsdl11/allinone...

and that the solution is for me more to find on a change of internet configuration.

Kind Regards,

Serge

Former Member
0 Kudos

Hi Serge,

Using SoapUI & WS Navigator to test, with the following request:

<?xml version="1.0" encoding="utf-8"?>

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<SOAP-ENV:Body>

<yq1:SalesOrderERPBasicDataByElementsQuery_sync xmlns:yq1="http://sap.com/xi/APPL/Global2">

<SalesOrderSelectionByElements>

<SelectionByID>

<InclusionExclusionCode>E</InclusionExclusionCode>

<IntervalBoundaryTypeCode>1</IntervalBoundaryTypeCode>

<LowerBoundaryID>100000</LowerBoundaryID>

</SelectionByID>

</SalesOrderSelectionByElements>

<ProcessingConditions>

<QueryHitsMaximumNumberValue>15</QueryHitsMaximumNumberValue>

</ProcessingConditions>

</yq1:SalesOrderERPBasicDataByElementsQuery_sync>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

To the Endpoint:

[http://erp.esworkplace.sap.com/sap/bc/srt/pm/sap/ecc_salesorder009qr/800/default_profile/2/binding_t_http_a_http_ecc_salesorder009qr_default_profile]

And got a successful response. In SoapUI, the success only came after adding the proxy details. I am on the SAP network though, not sure how much of a difference that makes...

Regards, Trevor

Former Member
0 Kudos

Hi,

The message you're getting normally means that the endpoint isn't configured in the SAP ECC backend.

A suggestion:

Launch SOAMANAGER (using transaction code SOAMANAGER) from the ECC backend system. Do a search for the webservice you've mentioned & check if the endpoint exists there or there are any inconsistencies. The idea is to check that the WSDL published in the Service Registry & the actual WSDL on SAP are in sync.

Then:

Use the 'WSDL with Binding' URL (or save this WSDL locally to your PC) from SOAMANAGER to create your ECT in MS Sharepoint. You could also use this WSDL to test the SAP webservice using SoapUI (or any SOAP testing tool) to ensure that there is no inconsistency in the MS SharePoint side.

Regards, Trevor

Former Member
0 Kudos

Thanks a lot, Trevor,

It was anyway a very helpful answer, only I have still the problem that I cannot acceed to SOAMANAGER from ERP HU2(800) on ESWorkplace, and I don't understand why, so that I could not test if the endpoint on Service Registry is matching.

I'm trying without success to start SOAMANAGER from transaction SPROXY in ERP HU(800).

In the Service Registry I retrieve following information for ECT:

WSDL: (For Service Metadata URL in ECT)

http://erp.esworkplace.sap.com/sap/bc/srt/wsdl/sdef_ECC_SALESORDER009QR/wsdl11/ws_policy/document?sa...

ENDPOINT: (For Service Endpoint in ECT) http://erp.esworkplace.sap.com/sap/bc/srt/wsdl/bndg_DEA474707912D7F19FD500145E5ADE89/wsdl11/binding/...

Maybe there is only a small trick for making this work, and your help would still be very appreciated.

Regards,

Serge

Former Member
0 Kudos

Hi Serge,

I tried a test using SoapUI using the exact same WSDL & Endpoint URL's you have specified below with my HU2 login credentials. A test request to the service works fine for me indicating that the SAP side is fine.

I don't know the MS Sharepoint development side of things well enough to comment but I would recommend you search for a possible solution in the MS context:

I tried Googling "SAP Sharepoint Cannot find any matching endpoint configuration" and saw some similar issues to the one you're experiencing, it might help.

P.s. If you're in SPROXY and you double-click on the service interface that you're trying to call, there's a WSDL tab in the right-hand side screen. If you click this tab, you'll notice a URL field. This should indicate if the WSDL URL you're seeing is in sync with the WSDL URL you see in the service registry at least.

Regards, Trevor

Former Member
0 Kudos

Hi Trevor, again thanks a lot,

I've tested on my side the WSDL and the EndPoint with a SoapUi from "Eviware".

By trying to create a request using the WSDL, the basic authentification popup appears asking me for username and password for HU2(800), so well, I put in my login credentials, but afterwards I get the following error message:

Found nothing to import in [http://erp.esworkplace.sap.com/sap/bc/srt/wsdl/sdef_ECC_SALESORDER009QR/wsdl11/ws_policy/document?sap-client=800];

no asking for EndPoint

also as explanation with a get request the error message "Host Parameter is null".

sap-client 800

content-type text/html; charset=utf-8

#status# HTTP/1.1 401 Unauthorized

sap-system HU2

Connection Keep-Alive

Connection Proxy-Support

Server SAP Web Application Server (1.0;701)

set-cookie sap-usercontext=sap-client=800; path=/

www-authenticate Basic realm="SAP Web Application Server [HU2]"

Date Fri, 15 Jul 2011 09:23:44 GMT

content-length 2039

Proxy-Support Session-Based-Authentication

Keep-Alive timeout=15, max=100

Via 1.1 VILISA2006

Could this be a problem of a missing authorization on SAP side? Anyway your help would still be very appreciated.

Kind Regards,

Serge

Former Member
0 Kudos

Hi Serge,

This is unusual. You should have the necessary access to test webservices, that's the main purpose of the ES Workplace.

I have some possible suggestions...

- Maybe just check that you're okay with any proxy / firewall settings. The error that you're getting (i.e. 401 unathorized) indicates that you're probably making it it the way through the ES Workplace backend system but just check that anyway in SoapUI Preferences.

- When you initially applied for HU2 (client 800) access, did you login using one of the availble SAP UI's to change the initial password before trying to initiate the webservice call from MS Sharepoint? If the HU2 password is still in initial state it might be the reason why you're getting this error. If you haven't, launch the SAP ES Workplace WebGUI using the URL below and enter the user & password that you have (along with system HU2 & client 800) & check the result. You should get a successful result if authentication goes well, URL: [http://erp.esworkplace.sap.com/sap/bc/gui/sap/its/webgui]

- If the above step doesn't work, you might need to log a ticket in SAP Service Marketplace under component: CA-SOA-SWP.

- There is also an e-mail address to get additional support for ES Workplace login issues, I just can't find it right now, maybe try a Google search on it.

- Lastly (if you're still experiencing login issues), try registering for ES Workplace System access again ([url|http://www.sdn.sap.com/irj/sdn/soareg]). This will reset all your ES Workplace System/s passwords. You then need to login (to SAP WebGUI) & change all your passwords as per the instruction mail you will receive.

Then try a call using the SAP WS Navigator first with your HU2 login credentials: [http://sr.esworkplace.sap.com/wsnavigator]

If the above step works, then try the MS Sharepoint call again.

Regards, Trevor