Document/Encoded and RPC/Encoded combinations are not WS-I compliant - web-services

Can someone of this network explain why the Document/Encoded and RPC/Encoded encoding style combinations are not WS-I compliant into Soap-based web service?

Document/Encoded and Rpc/Encoded are released by WS-I adheres bp1.0(basic profile 1.0) specification.
Later WS-I release bp1.1,2.0.. specifications.The rules specified in these specification will not be supported by above message exchanging formats and also not complaint.
The only exchanging formats that are complaint to WS-I are Document/literal,Rpc/literal,Document/Wrapped

Related

How to read users from SAP UME

How to establish a connection to SAP EP (portal) from Java application using JCO?
We are able to connect to ABAP system but not able to get more info to establish connection to SAP PORTAL and read UME users.
SAP does not recommend to use the proprietary RFC protocol for connecting two non-ABAP systems with each other, but to use other standard protocols like HTTPS for this instead.
However, if you would like to use JCo nevertheless, connecting a standalone JCo application to a NetWeaver AS Java instance (like the Enterprise Portal) would then be a so-called extern-to-extern RFC communication. A direct point-to-point communication is not possible via RFC and you will also need a third component, namely a SAP gateway, which serves as a "meeting point" for both RFC communication partners.
Please see the following SAP Notes for the required special configuration steps at each side:
SAP Note 1877907 - Support of extern-to-extern RFC communication with
JCo 3.0
SAP Note 1729203 - Support for communication with external
RFC server
SAP Note 1717833 - RFC destinations to support external
RFC servers
This was only the technical aspect of the RFC communication. Of course, you then need to implement the client side RFC calls and the RFC server side with offering appropriate Remote Function Modules that provide the desired functionality.
I don't think that such an RFM for reading UME users at the NetWeaver AS Java side is already available out-of-the-box.

How to determine the kind of Web Service Encoding from the WSDL?

Is it possible to figure out from a WSDL, what is the kind of webservice?
Document/literal
Document/encoded
RPC/literal
RPC/encoded
If yes, how?
If you are using PHP, you can use the Zend framework's Zend_Soap_AutoDiscover class.
Otherwise, look at the Response:
Document style response contains schema definitions, whilst RPC does not
Literal contains name attributes, whilst encoded does not
Aside:
The pairing is usually RPC/encoded or Document/literal, as Document/encoded is not WS-I compliant. Document/literal is most common of all types.
So for example these are both of type Document/literal as they contain both schema definitions and name attributes:
http://www.w3schools.com/xml/tempconvert.asmx?wsdl
https://webapi.allegro.pl/uploader.php?wsdl
Reference:
Examples of all three valid combinations: https://www.ibm.com/support/knowledgecenter/en/SSB27H_6.2.0/fa2ws_ovw_soap_syntax_lit.html

WS-Federation protocol is deprecated

I am working with Identity and Access Control and I want to use Ws-federation protocol to enable browser based SSO (Single Sign On). I want to know whether this protocol is deprecated due to security reasons or not ?
No, it is not deprecated. Is one of the main protocols implemented in WIF. (The framework you'd use if you are on the Microsoft platform).

Support both SOAP 1.1 and 1.2 by same JAX-WS service

I have a JAX-WS #WebServiceProvider and would like to support both SOAP 1.1 and 1.2 protocols. I handle creation of response SOAPMessage of proper version manually. I have WSDL describing bindings for both, 1.1 and 1.2 protocol.
But the service endpoint is only able to support either version at a time.
I would appreciate either a solution or a pointer to a piece of doc where it's stated that it's impossible.
P.S. i'm using WebSphere 7 app server, which is bundled with JAX-WS 2.0 (which is Axis2 based)
I experienced the same problem. The main issue for me is that it is not possible to compile the class with both #BindingType(value = SOAPBinding.SOAP12HTTP_BINDING) and #BindingType(value = SOAPBinding.SOAP11HTTP_BINDING). Have a look to this http://www-01.ibm.com/support/docview.wss?uid=swg1PK96819, and this http://www-01.ibm.com/support/docview.wss?uid=swg1PK83482, it should be possible to set #BindingType(SOAPBinding.SOAP_HTTP_BINDING) to have the both SOAP version to be delivered. Unfortunaltely, i did not compile also with the Websphere runtime environment, what i don't understand.
I recently dealt with a service deployment issue related to trying to simultaneously enable both SOAP 1.1 and 1.2 for a service (on WebSphere v7.0). Unfortunately, I don't think that your question gives enough information to provide a specific solution.
It IS possible to support both bindings at the same time, but there are some considerations. I think the main thing is that the server has to be able to listen on separate endpoints (URLs) for each binding. As near as I can tell, this requires appropriate entries in your web.xml and/or your webservices.xml configuraiton files.
For an annotation based service, these configuration entries are theoretically optional; but when you try to enable multiple bindings for a given service without the "optional" configuration entries, the WAS Axis2 extension fails with various possible exceptions.
If you could provide more detail about your wsdl, and the relevant portions of web.xml and webservices.xml (if any), as well as any error messages reported in the WAS log(s) during deployment and application startup, then I could probably give a better answer.

Message Format in WebService

What is meant by Message Format in WebService
I have been told that Message Format can be of two styles (RPC / Document )
Please tell me what is meant by Message Format and how it is actually related to the Web services ??
Message Exchanging Formats means the way in which the client XML structure should look like so that the provider can understand the document. there are 4 MEF's:
RPC-Encoded
RPC-literal
document-encoded (This combination is not recommended by WS-I BP 1.0 & 2.0)
document-literal
RPC-encoded is the default MEF for the JAX-RPC API and document-literal is the default MEF for the JAX-WS API
does RPC/Literal and Freedom of Choice help? or Which style of WSDL should I use?