!--a11y-->
Creating Web Services 
The portal Web services implementation can receive SOAP messages. For this, PRT uses the libraries inqmysoap.jar, and the Java API for XML Messaging (JAXM) version 1.0 implementation. The portal Web services implementation can also deal with the WSDL concept. This implies different functionalities such as as SOAP interpreter, Java proxies generation, dynamic service methods invocation and others.
PRT provides:
· A simple way to receive SOAP messages, enabling it to:
¡ Be a listener
¡ Address messages to the SM
· An interpreter for the WSDL language, enabling you to:
¡ Decode SOAP Message
§ Address calls to the right service
§ Decode parameter
§ Construct answer
· Implements JAXR specifications:
¡ Publish our service to external new calls
§ Provide a WSDL description of the service
§ Automatic process or not
· The Web services configuration is stored in the portal repository according to the configuration framework.
The advantage of this approach is that there is no need to provide multiple URLs to be connected. It also enables the architecture to provide only one connection that understands the SOAP Calls.
These URLs are of this type:
· irj/servlet/prt/soap/AliasApplication
· irj/servlet/prt/soap/ApplicationName.ServiceName
The PRT services are called dynamically by the SOAP listener (or consumer). You have to perform the following steps to expose a portal service as a Web service:
· Define the list of methods that need to be exposed as Web services methods
· Modify the portalapp.xml file (description of the portal applications) to declare the service as Web-enabled (proceed the same way for the Web proxy)
· Create the associated PAR file and upload this PAR file.
Example of modifications to the portalapp.xml :
<services> <service alias="ServiceName" name="ServiceName"> <service-config> <property name="className" value="com.sap.test.Service121"> </property> <property name="SecurityZone" value="com.sap.test.Service121/DefaultSecurity"> </property> <property name="WebEnable" value="true"> </property> <property name="WSDL_RPC_ENC" value="Service121_RPC_ENC.wsdl"> </property> <property name="WSDL_RPC_LIT" value="Service121_RPC_LIT.wsdl"> </property> <property name="WSDL_DOC_LIT" value="Service121_DOC_LIT.wsdl"> </property> </service-config> <service-profile> <property name="SystemAlias" value="Default_System_Alias"> </property> </service-profile> </service> </services> |
