cancel
Showing results for 
Search instead for 
Did you mean: 

ESW: Publishing Enterprise services in PI 7.1

former_member238007
Contributor
0 Kudos

Hi,

My Scenario was Webservices to ID

Is WS Navigator is necessary for testing the Enterprise Services.

How to define a service interface in the service registry and if i need to create any purchase order how do and where do i need to import the WSDL file ..

What is Service Registry and what is the differeince b/w the WS Navigator and Service Registry.

Where this comes into picture in PI

regards

Kishore

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

I don't know what do you mean by ID.

>Is WS Navigator is necessary for testing the Enterprise Services.

No you can use other tools like SOAP UI (www.soapui.org) for testing, for that matter any webservice test tool.

>How to define a service interface in the service registry and if i need to create any purchase order how do and where do i need to import the WSDL file ..

Service registry is yellow pages of webservices, so you either publish address and other details of webservices or you search required webservice here. If you want to use PO service then goto your service registry and search for PurchaseOrder and if service available you can find it there including address of endpoint wsdl which can be tested either in WSNAvigator or any other tool.

>What is Service Registry and what is the differeince b/w the WS Navigator and Service Registry.

Service registry is centralize place where information about webservice stored, you can compare it with yellowpage.

>Where this comes into picture in PI

PI is used only when mediated communication required, else only ESR is used for defining services and Service Registry is used for publishing services.

If you are beginner for SOA then I suggest goto elearning and you can find interesting to start with.

Regards,

Gourav

Former Member
0 Kudos

Hi Gourav,

I am having the same problem but one step ahead..

I went to ECC and used the Tcode -- SPROXY and selected Repository Information System then

In the Repository Information System -


Chossen the ENTERPRISE SERVICES --> SERVICE Definitions

and in the options i choose with Purchase and selected the ECC_PURCHASEORDER005QR

Then went with the option of WSDL of the respective service ECC_PURCHASEORDER005QR and choosed START SOA Manager ..

There i have created the service with the required credentials and while choosing

Open Web Service navigator for selected binding

there i got the url for this purchase order and while choosing the test tab i found many input parameters that to be provided dont no what to be provided .. can you help out on this..

This are the options that we need to provide for testing the PUrchase order --

PurchaseOrderERPByIDQueryResponse_In_V1

PurchaseOrderERPByIDQuery_sync_V1 (test.types.PurOrdERPByIDQryMsgSV1)

PurchaseOrderSelectionByID (test.types.PurOrdERPByIDQrySV1SelByPurOrdID[])

element1 (test.types.PurOrdERPByIDQrySV1SelByPurOrdID)

InclusionExclusionCode (String) SKIP

IntervalBoundaryTypeCode (String)

LowerBoundaryPurchaseOrderID (String) SKIP

UpperBoundaryPurchaseOrderID (String) SKIP

SelectionByPurchaseOrderItemID (test.types.PurOrdERPByIDQrySV1SelByPurOrdItmID[]) SKIP

element1 (test.types.PurOrdERPByIDQrySV1SelByPurOrdItmID) NULL

InclusionExclusionCode (String) SKIP

IntervalBoundaryTypeCode (String)

LowerBoundaryPurchaseOrderItemID (String) SKIP

UpperBoundaryPurchaseOrderItemID (String) SKIP

ProcessingConditions (test.types.NOSC_QueryProcessingConditions) SKIP

QueryHitsMaximumNumberValue (Integer) SKIP

QueryHitsUnlimitedIndicator (Boolean)

LastReturnedObjectID (String) SKIP

regards

Sai

Former Member
0 Kudos

Hi Sai,

you should have posted new thread for your question, it is not good to post your question in someone else's thread.

Still I'll tell you what to provide in input fields.

IntervalBoundaryTypeCode (String) = 1 (not sure about this field)

LowerBoundaryPurchaseOrderID (String) SKIP = From Purchase Order number you want to search (for ex. 100001)

UpperBoundaryPurchaseOrderID (String) SKIP = Upto Purchase Order number you want to search (for ex. 100100)

Skip all other fields. Or better consult any Functional consultant.

Regards,

Gourav

former_member238007
Contributor
0 Kudos

Hi Gourav,

Thanks Gourav for your valuable reply,

Still i am facing the problem,

When i give the values as of for the above case i am facing with the below error

An error has occurred. Maybe the request is not accepted by the server:

SRT: Authorization denied

The below is the request message

POST /sap/bc/srt/xip/sap/ecc_purchaseorder005qr/310/ecc_purchaseorder005qr/ecc_purchaseorder005qr_binding HTTP/1.1

Host: scc10ykf.rim.net:8010

Content-Type: text/xml; charset=UTF-8

Connection: close

Authorization: <value is hidden>

SAP-PASSPORT: 2A54482A0200B900007363633130796B665F4543445F31303337333037353000000000000000000000000147756573740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017363633130796B665F4543445F3130333733303735300000000000000000000063663133383632303838303931316465626338333030316632393665396464322A54482A

Content-Length: 877

SOAPAction: ""

<?xml version="1.0" encoding="UTF-8" ?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Header><sapsess:Session xmlns:sapsess="http://www.sap.com/webas/630/soap/features/session/"><enableSession>true</enableSession></sapsess:Session></SOAP-ENV:Header><SOAP-ENV:Body><ns1:PurchaseOrderERPByIDQuery_sync_V1 xmlns:ns1='http://sap.com/xi/SAPGlobal20/Global'><PurchaseOrderSelectionByID><SelectionByPurchaseOrderID><IntervalBoundaryTypeCode>1</IntervalBoundaryTypeCode><LowerBoundaryPurchaseOrderID>0000205000</LowerBoundaryPurchaseOrderID><UpperBoundaryPurchaseOrderID>0000205132</UpperBoundaryPurchaseOrderID></SelectionByPurchaseOrderID></PurchaseOrderSelectionByID></ns1:PurchaseOrderERPByIDQuery_sync_V1></SOAP-ENV:Body></SOAP-ENV:Envelope>

This is the response message which i got

HTTP/1.1 500 Internal Server Error

Set-Cookie: <value is hidden>

content-type: text/xml; charset=utf-8

content-length: 1762

accept: text/xml

sap-srt_id: 20090813/090413/v1.00_final_6.40/4A8356473B0B55C5E10000000A51143C

server: SAP Web Application Server (1.0;701)

<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"><soap-env:Header></soap-env:Header><soap-env:Body><soap-env:Fault><faultcode>soap-env:Server</faultcode><faultstring xml:lang="en">SRT: Authorization denied</faultstring><detail><ns:SystemFault xmlns:ns="http://www.sap.com/webas/710/soap/runtime/abap/fault/system/"><Host>Provider</Host><Component>SECURITY</Component><ChainedException><Exception_Name>CX_SOAP_CORE</Exception_Name><Exception_Text>SRT: Authorization denied</Exception_Text></ChainedException></ns:SystemFault><ns:SystemFault xmlns:ns="http://www.sap.com/webas/711/soap/runtime/abap/fault/system/"><Host>Provider</Host><Component>SECURITY</Component><ChainedException asx:root="asx:abap" version="1.0" xmlns:asx="http://www.sap.com/abapxml"><asx:values><EXCEPTION href="#o201"></EXCEPTION></asx:values><asx:heap xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:abap="http://www.sap.com/abapxml/types/built-in" xmlns:cls="http://www.sap.com/abapxml/classes/global" xmlns:dic="http://www.sap.com/abapxml/types/dictionary"><cls:CX_SOAP_CORE id="o201"><CX_ROOT><TEXTID>0018FE864EEE1DECA69CF9C71ACB337F</TEXTID><PREVIOUS></PREVIOUS><KERNEL_ERRID></KERNEL_ERRID><INTERNAL_SOURCE_POS><PROGID>99</PROGID><CONTID>1077</CONTID></INTERNAL_SOURCE_POS></CX_ROOT><CX_NO_CHECK></CX_NO_CHECK><CX_SOAP_CORE><E_LOCATION><CLASS>CL_WS_SECURITY_PROTOCOL</CLASS><METHOD>AUTHORITY_CHECK</METHOD><ID>0</ID></E_LOCATION><E_TEXT>SRT: Authorization denied</E_TEXT><E_ID>1100</E_ID><E_FAULT_LOCATION>1</E_FAULT_LOCATION><E_AREA>SECURITY</E_AREA><E_HOST>1</E_HOST><E_PROCESS_CONTROL></E_PROCESS_CONTROL></CX_SOAP_CORE></cls:CX_SOAP_CORE></asx:heap></ChainedException></ns:SystemFault></detail></soap-env:Fault></soap-env:Body></soap-env:Envelope>

i am giving the purchase order number lowerbound and upperbound of the range but i am getting this error

Request you to help on this..

Is there any issue with SRT: Authorization error.. (Any Configurations to be avoid this)

regards

Kishore

former_member238007
Contributor
0 Kudos

Hi Gourav,

Sorry the above text is not as with i posted

When I post with sample inputs with respect to the fields throwing the below error,

An error has occurred. Maybe the request is not accepted by the server:

SRT: Authorization denied

How to avoid this SRT authorization denied do i need to ask for any other authorization,

Need to explain to the basis people of what to do to avoid this error,

request your valuable inputs to go ahead..

regards

Kishore

Former Member
0 Kudos

Hi,

This is plain authorization error.

Give correct user id/password for the system where this service exist (target system). Check SOAMANAGER on target system (provide system) if plain http authentication enabled for simple UID/Password.

If everything is fine then check if your user have authorization to read this data/service.

Regards,

Gourav

former_member238007
Contributor
0 Kudos

Hi Gourav,

Could you explain more on this, i am not getting what you mean..

regards,

Kishore

former_member238007
Contributor
0 Kudos

HI Gourav,

I will explain the scenario, it is as similiar to sai,

going to Tcode Sproxy in ECC system and chosing Repository information system --> Enterprise Service --> Service Definition and as if i am choosing ECC_PurchaseOrder005IQ for reading the purchase order and

then using WSDL option i am going for the option of --> Start SOA Mangaer from there i am creating the service and when i click the

"Open Webservice Navigator for selected Binding" -- Asking user credential i am providing ECC user credentials and going to

the TEST tab option where in i need to give those input details

As if i am providing those details as said by you in the above discussion..

But throwing the SRT: Authorization error

request you to help on this..

regards

Kishore

Former Member
0 Kudos

Hi,

your problem is related to incorrect authorization to access this service. Please check if your userid has correct authorization for given service on ECC system.

It is possible your service is NOT configured to use plain http authentication.

1. Goto SOAMANAGER-

2. Search for your service.

3. Create service/endpoint (please search SDN if you don't know how)

4. Give authentication as plain http.

5. while testing use your userid/password in WSNavigator.

Given error is not related to input value/field of service, it is related to authorization.

Regards,

Gourav

former_member238007
Contributor
0 Kudos

Thanks Gourav,

Can you provide any documents/ links to configure this webservices.

regards,

Kishore