Client proxy consuming web service provider using logical port issue
Hi All,
I have a proxy client having a logical port (configured using NWDS) to consume a web service in the provider system.
In the logical port, I have given target address, and logical port name. While moving this client proxy NWDI dev track to Q and prod,
how do I change this target address to point to Q and prod respectively. In other words, even though I am using Visual admin to configure the destination url for the logical port, to point to Q and prod, its still referring to the dev environment provider service after moving the proxy client to Q and prod. What is the suggested approach to take care of this issue
Thx
mike
Hi Michael,
I can only help from that point of view that I believe this question belongs to the forum
Service-Oriented Architecture (SOA) and SAP
Please try to raise this question there.
Thanks and Regards,
Ervin
Similar Messages
-
ABAP server proxy as web service provider ??
Hi friends,
I am wondering that if is possible to expose an ABAP server proxy as a web service on NetWeaver ABAP. I tried that, but failed to call it.
I generated a ABAP server proxy by using the PI inbound interface. I can call the ABAP server proxy by PI. From SOAMANAGER of the beckend system, i saw that this just generated ABAP server proxy is a service. Then i curious if this generated ABAP server proxy can be exposed as the web service like other RFC function modules on the same beckend system. So i generated a ABAP client proxy by using the binding WSDL of the ABAP server proxy. But the testing of the generated ABAP client proxy failed.
So my question is if it is possible to expose an ABAP server proxy as a web service on NetWeaver ABAP?
The beckend system is SAP ERP 6.0 EHP4. The PI is 7.11.
Thanks!In other words, is it possible to consume a server proxy by client proxy? If yes, how to consume it?
Edited by: Chris Xu on Jan 16, 2011 8:59 PM -
Consuming web services provided 3rd
Hello experts,
I have a scenario SAP -> XI -> 3rd party WS (with multiple actions)
The 3rd party WS contains several actions for manipulating a Business Object.
I would like to define one Inbound Service Interface with several Operations for consuming the web service with its actions.
Everything is okay at design time. I defined all necessary objects based on the WSDL that represents the WS.
The problem is at configuration time:
1. I can define only one Receiver Agreement for the given Service Interface & Business System (There is no indication or seperation for the different operations defined in the Service Interface).
2. In the Receiver Agreement I can choose only one SOAP Receiver Communication Channel.
3. In the SOAP Receiver Communication Channel I can define only one Action for the provider WS.
According to SAP paradigm (backed up by the SAP ProComp Model in the modeling tool available in PI 7.1) one can define an Inbound service interface with several operations. it seems that the configuration does not support this kind defenition for SOAP adapter.
If anyone encountered this problem and have a solution, I will appreciate sharing the information.
Regard.Hi Effi,
Another approach is tho dynamically assign the SOAP Action and then retrieve it in the Communication channel
Use this peice of codeto assign SOAP Action value to
DynamicConfigurationKey keyURL = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP","THeaderSOAPACTION");
// access dynamic configuration
DynamicConfiguration conf = (DynamicConfiguration) container
.getTransformationParameters()
.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
conf.put(keyURL,"<your action>");
return "";
Then switch on the *adapter specific identifiers (and select use variable binding) *in SOAP Channel and specify as specified in this link
http://help.sap.com/saphelp_nw04s/helpdata/EN/29/5bd93f130f9215e10000000a155106/frameset.htm
Also check the Keep Header checkbox
I dont have a XI box here to give a try, so please give a try and I am sure you will get the result.
Regards
Suraj -
Visual Administrator and ABAP Client Proxy (external web service)
Hello,
I have generated client proxy in SE80. Is it possible to see it in Visual Administrator?
I need to make changes to some security setting and hoping to do it within Visual Administrator.
Thanks,
AlexHi,
I think that your are mixing things up.
A client proxy in SE80 is in the Abap stack.
Visual Administrator is used to configure the Java stack.
Don't forget that the Netweaver application server is mostly a marketing myth.
In real life there are a Netweaver Abap application server and a Netweaver Java application server.
These 2 application servers are sticked together with some "software glue"...
Regards,
Olivier -
Web Service portlet using pdk documentation issue
Hi,
I have followed the instructions in
http://portalcenter.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/PDK/ARTICLES/how.to.build.web.services.portlets.html
on how to build web service portlets.
I have successfully deployed the WS portlet and can happily call my web Service (RPC style) passing a set of parameters which I have formatted using a stylesheet.
However, every time I refresh the page within portal, it recalls the WS with the previously submitted parameters. Also, if I switch between view and edit mode in portal, it again calls the WS with previously entered parameters.
Can I stop this happening either through a setting in portal or code in my Stub class. (Stub class below)
Thanks alot
Joel.
package mypackage;
import oracle.soap.transport.http.OracleSOAPHTTPConnection;
import org.apache.soap.encoding.SOAPMappingRegistry;
import java.math.BigDecimal;
import java.net.URL;
import org.apache.soap.rpc.Call;
import org.apache.soap.Constants;
import java.util.Vector;
import org.apache.soap.rpc.Parameter;
import org.apache.soap.rpc.Response;
import org.apache.soap.Fault;
import org.apache.soap.SOAPException;
import java.util.Properties;
* Generated by the Oracle JDeveloper 10g Web Services Stub/Skeleton Generator.
* Date Created: Thu Feb 03 15:38:22 GMT 2005
* WSDL URL: file:/D:/Software/Oracle/NT/jdev_10.1.2/jdev/mywork/blah/CreateSR2/src/LG02/CreateSR2.wsdl
public class CreateSR2Stub
public CreateSR2Stub()
m_httpConnection = new OracleSOAPHTTPConnection();
m_smr = new SOAPMappingRegistry();
public static void main(String[] args)
try
CreateSR2Stub stub = new CreateSR2Stub();
// Add your own code here.
catch(Exception ex)
ex.printStackTrace();
private String _endpoint = "http://myServer:7779/Blah-CreateSR2-context-root/CreateSR2";
public String getEndpoint()
return _endpoint;
public void setEndpoint(String endpoint)
_endpoint = endpoint;
private OracleSOAPHTTPConnection m_httpConnection = null;
private SOAPMappingRegistry m_smr = null;
public String createSrStub(BigDecimal pCitizen, String pAccountType, String pSummary, String pReferral, String pReason, String pHouse, String pRos, BigDecimal pGroup, String pOwner, String pMode, String pFrom) throws Exception
String returnVal = null;
URL endpointURL = new URL(_endpoint);
Call call = new Call();
call.setSOAPTransport(m_httpConnection);
call.setTargetObjectURI("CreateSR2");
call.setMethodName("createSrStub");
call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
Vector params = new Vector();
params.addElement(new Parameter("pCitizen", BigDecimal.class, pCitizen, null));
params.addElement(new Parameter("pAccountType", String.class, pAccountType, null));
params.addElement(new Parameter("pSummary", String.class, pSummary, null));
params.addElement(new Parameter("pReferral", String.class, pReferral, null));
params.addElement(new Parameter("pReason", String.class, pReason, null));
params.addElement(new Parameter("pHouse", String.class, pHouse, null));
params.addElement(new Parameter("pRos", String.class, pRos, null));
params.addElement(new Parameter("pGroup", BigDecimal.class, pGroup, null));
params.addElement(new Parameter("pOwner", String.class, pOwner, null));
params.addElement(new Parameter("pMode", String.class, pMode, null));
params.addElement(new Parameter("pFrom", String.class, pFrom, null));
call.setParams(params);
call.setSOAPMappingRegistry(m_smr);
Response response = call.invoke(endpointURL, "");
if (!response.generatedFault())
Parameter result = response.getReturnValue();
returnVal = (String)result.getValue();
else
Fault fault = response.getFault();
throw new SOAPException(fault.getFaultCode(), fault.getFaultString());
return returnVal;
public void setMaintainSession(boolean maintainSession)
m_httpConnection.setMaintainSession(maintainSession);
public boolean getMaintainSession()
return m_httpConnection.getMaintainSession();
public void setTransportProperties(Properties props)
m_httpConnection.setProperties(props);
public Properties getTransportProperties()
return m_httpConnection.getProperties();
}Hi Joel,
You can enable caching for your portlet. There are three types of caching you can use: expiry, validation, and invalidation-based caching. You can learn about your options in the Enhancing Portlet Performance with Caching section of the Portal Developer's Guide.
Regards,
Peter -
How use a proxy consumer web service in ABAP Program with local interface
I generate a proxy class based on a WSDL file.
I want to use this class in an abap programm without a connection but using XML files in local.
I see with the class CL_PROXY_LOCAL_ADAPTER that it is possible to execute without connection but for use this, it's necessary to use the method REGISTER.
This method have two parameters : Class Name and Interface Name.
Class name is the name of my proxy class, but I don't know how to find the interface name.
I think that a local interface is needed to generate but I don't know how to generate in interface with entries in SPROXSIG table ?
Could you help me ?Check out the following links to see if it meets your needs.. Has examples to call a ABAP proxy (that consumes a webservice) from ABAP program...
http://help.sap.com/saphelp_nw04/helpdata/en/bf/d005244e9d1d4d92b2fe7935556b4c/frameset.htm (webservices ->webservices toolset -> examples)
http://help.sap.com/saphelp_dm40/helpdata/en/1a/b69d427cab0831e10000000a1550b0/frameset.htm -
Pros & Cons for consuming web services in ABAP using ABAP PROXY
Hi,
Other then performence is there any other disadvantages like security,etc for consuming web services in ABAP using ABAP proxy?
I really appreciate if some one provide the more details(Pros & Cons ) regarding cosuming web services and I also want to know is there any other way to consume web services in ABAP.
Thanks.<i> is there any other way to consume web services in ABAP</i>
you can use cl_http_client class to make your program to act as http client and post the soap message too webservice. This way you dont need to generate proxy, but you should know the soap message format.
Regards
Raja -
Consume web service in ABAP proxy with SOAP header
Hi Thomas ,
I am trying to consume web service in ABAP . I have followed the procedure from one of your web blog <a href="/people/thomas.jung3/blog/2004/11/17/bsp-a-developers-journal-part-xiv--consuming-webservices-with-abap a Developer's Journal Part XIV - Consuming WebServices with ABAP</a> . (640 release).
I need to pass SOAP header along with SOAP body. As you mentioned I have used if_wsprotocol_ws_header interface to pass header but it is still failing.
Please see below code and please give some direction to fix the issue.
1.Create ABAP proxy for WSDL (http://ws.strikeiron.com/SwanandMokashi/StockQuotes?WSDL). It has created structures only for SOAP body.
2.Create Logical port
3.Create following program to call proxy
REPORT zproxy.
DATA: ref_stock TYPE REF TO zzco_stock_quotes_soap ,
ws_header TYPE REF TO if_wsprotocol_ws_header,
name TYPE string,
namespace TYPE string.
TRY.
CREATE OBJECT ref_stock
get WS_HEADER protocol
ws_header ?= ref_stock->get_protocol('IF_WSPROTOCOL_WS_HEADER').
set somehow header as iXML-DOM tree
DATA: ixml TYPE REF TO if_ixml,
xml_document TYPE REF TO if_ixml_document,
xml_root TYPE REF TO if_ixml_element,
xml_element TYPE REF TO if_ixml_element,
xml_node TYPE REF TO if_ixml_node.
DATA l_xstring TYPE xstring.
DATA l_string TYPE string.
FIELD-SYMBOLS <fs_xstring> TYPE xstring.
Additional Header:
CONCATENATE
'<soap:Header>'
'<s1:LicenseInfo xmlns:s1="http://ws.strikeiron.com">'
'<s1:RegisteredUser>'
'<s1:UserID>[email protected]</s1:UserID>'
'<s1:Password>aaaaaaaa</s1:Password>'
'</s1:RegisteredUser></s1:LicenseInfo>'
'</soap:Header>' INTO l_string.
convert to xstring
l_xstring = cl_proxy_service=>cstring2xstring( l_string ).
IF NOT l_string IS INITIAL.
create iXML DOM document from XML xstring
CALL FUNCTION 'SDIXML_XML_TO_DOM'
EXPORTING
xml = l_xstring
IMPORTING
document = xml_document
EXCEPTIONS
invalid_input = 1
OTHERS = 2.
IF sy-subrc = 0 AND NOT xml_document IS INITIAL.
xml_root = xml_document->get_root_element( ).
xml_element ?= xml_root->get_first_child( ).
add header element by element to SOAP header
WHILE NOT xml_element IS INITIAL.
name = xml_element->get_name( ).
namespace = 'http://swanandmokashi.com' . "xml_element->get_namespace_uri( ).
IF NOT xml_element IS INITIAL.
ENDIF.
ws_header->set_request_header(
name = name
namespace = namespace
dom = xml_element ).
xml_element ?= xml_element->get_next( ).
ENDWHILE.
ENDIF.
ENDIF.
CATCH cx_ai_system_fault .
ENDTRY.
*Call soap body using abap proxy class.
DATA: get_quotes TYPE zzget_quotes_soap_out .
DATA: get_quotes1 TYPE zzget_quotes_soap_in .
get_quotes1-quote_ticker = 'GE'.
TRY.
CALL METHOD ref_stock->get_stock_quotes
EXPORTING
get_quotes1 = get_quotes1
IMPORTING
get_quotes = get_quotes.
CATCH cx_ai_system_fault .
CATCH cx_ai_application_fault .
ENDTRY.
4.It is throwing cx_ai_system_fault error.
SOAP details:
Input:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://schemas.xmlsoap.org/soap/encoding" >
<soap:Header>
<s1:LicenseInfo xmlns:s1="http://ws.strikeiron.com">
<s1:RegisteredUser>
<s1:UserID>[email protected]</s1:UserID>
<s1:Password>aaaaaaaa</s1:Password>
</s1:RegisteredUser>
</s1:LicenseInfo>
</soap:Header>
<soap:Body>
<tns:GetQuotes xmlns:tns="http://swanandmokashi.com">
<tns:QuoteTicker>GE</tns:QuoteTicker>
</tns:GetQuotes>
</soap:Body>
</soap:Envelope>
Thanks,
Kavitha.Hi ,
Thank you for the response. Did you passed user email and password ([email protected] /aaaaaaaa) part of licenseinfo->resisteredUser along with Quoteticker GE in analyzer?
<a href="http://www.strikeiron.com/Analyzer/OnlineAnalyzer.aspx?WSDL=http://ws.strikeiron.com/SwanandMokashi/StockQuotes?WSDL">ANALYZER</a>
Thanks,
Kavitha. -
Consuming Web Service - Proxy Generation Terminated
Hello all,
I have recently been exploring the capabilities of consuming Web Services from ABAP and have run into some issues.
When I generate the Client Proxy from different WSDL files, I am frequently getting these two errors:
<i>Proxy generation terminated: "mixed content" not supported</i>
<i>Proxy generation terminated: WSDL error (<extension> not supported)</i>
Is this just a limitation of ABAP? If I get these errors, is there any way to use the Web Service?
Thanks in advance!Hi, had the same issue. try to rename the file to .xml ending.
HTH; rgds, marco -
Problem consuming web service created by ABAP via standalone java client
I'm trying to consume web service created by ABAP in R3 system via standalone java client. I should be getting a string reply after consumed the web service (ZSMS_INBOUND), but so far i received null. I cant find any exception or log to trace the problem. Any help would be appreciated. Is there anything wrong with my client calling the web service?
public void myMethod{
// TODO : Implement
try{
Stub stub = (Stub)new ZSMS_INBOUNDServiceImpl().getLogicalPort();
stub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY,"http://mytest:8080/sap/bc/srt/rfc/sap/ZSMS_INBOUND?sap- client=100&wsdl=1.1&mode=sap_wsdl");
inboundService = (ZSMS_INBOUND) stub;
BAPIRET2 str = inboundService.ZSMS_INBOUND(date, message, modemId, smsId, tel, time);
ackDeliveryArray<i> = str.toString();
}catch (Exception e) {
e.printStackTrace();
Generated following SAP help standalone proxy creation steps.
***files fr SEIs
ZSMS_INBOUND.java (interface)
ZSMS_INBOUNDService.java (interface)
ZSMS_INBOUNDServiceImpl.java
ZSMS_INBOUNDSoapBindingStub.java
***files fr Proxy classes
ZSMS_INBOUND.java
ZSMS_INBOUNDResponse.java
BAPIRET2.java
.... many more files
the wsdl is as below (generated by ABAP):
<?xml version="1.0" encoding="utf-8" ?>
- <wsdl:definitions targetNamespace="urn:sap-com:document:sap:rfc:functions" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:n0="http://www.sap.com/webas/630/soap/features/authentication/" xmlns:sap="http://www.sap.com/webas/630/wsdl/features" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="urn:sap-com:document:sap:rfc:functions" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <wsdl:types>
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:sap-com:document:sap:rfc:functions" targetNamespace="urn:sap-com:document:sap:rfc:functions" elementFormDefault="unqualified" attributeFormDefault="qualified">
- <xsd:simpleType name="char1">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="1" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="char10">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="10" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="char17">
+ <xsd:restriction base="xsd:string">
<xsd:maxLength value="17" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="char170">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="170" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="char20">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="20" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="char220">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="220" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="char30">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="30" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="char32">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="32" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="char50">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="50" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="date">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="10" />
<xsd:pattern value="\d\d\d\d-\d\d-\d\d" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="numeric3">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="3" />
<xsd:pattern value="\d*" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="numeric6">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="6" />
<xsd:pattern value="\d*" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="time">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="8" />
<xsd:pattern value="\d\d:\d\d:\d\d" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:complexType name="BAPIRET2">
- <xsd:sequence>
<xsd:element name="TYPE" type="tns:char1" />
<xsd:element name="ID" type="tns:char20" />
<xsd:element name="NUMBER" type="tns:numeric3" />
<xsd:element name="MESSAGE" type="tns:char220" />
<xsd:element name="LOG_NO" type="tns:char20" />
<xsd:element name="LOG_MSG_NO" type="tns:numeric6" />
<xsd:element name="MESSAGE_V1" type="tns:char50" />
<xsd:element name="MESSAGE_V2" type="tns:char50" />
<xsd:element name="MESSAGE_V3" type="tns:char50" />
<xsd:element name="MESSAGE_V4" type="tns:char50" />
<xsd:element name="PARAMETER" type="tns:char32" />
<xsd:element name="ROW" type="xsd:int" />
<xsd:element name="FIELD" type="tns:char30" />
<xsd:element name="SYSTEM" type="tns:char10" />
</xsd:sequence>
</xsd:complexType>
- <xsd:element name="ZSMS_INBOUND">
- <xsd:complexType>
- <xsd:sequence>
<xsd:element name="DATE" type="tns:date" />
<xsd:element name="MESSAGE" type="tns:char170" />
<xsd:element name="MODEMID" type="tns:char10" />
<xsd:element name="SMSID" type="tns:char17" />
<xsd:element name="TEL" type="tns:char20" />
<xsd:element name="TIME" type="tns:time" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
- <xsd:element name="ZSMS_INBOUNDResponse">
- <xsd:complexType>
- <xsd:sequence>
<xsd:element name="RETURN" type="tns:BAPIRET2" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
- <wsdl:message name="ZSMS_INBOUND">
<wsdl:part name="parameters" element="tns:ZSMS_INBOUND" />
</wsdl:message>
- <wsdl:message name="ZSMS_INBOUNDResponse">
<wsdl:part name="parameters" element="tns:ZSMS_INBOUNDResponse" />
</wsdl:message>
- <sap:Feature name="design_0" uri="http://www.sap.com/webas/630/soap/features/authentication/">
- <sap:Property qname="n0:AuthenticationLevel">
<sap:Option value="n0:None" />
</sap:Property>
</sap:Feature>
- <wsdl:portType name="ZSMS_INBOUND">
<sap:useFeature feature="tns:design_0" />
- <wsdl:operation name="ZSMS_INBOUND">
<wsdl:input message="tns:ZSMS_INBOUND" />
<wsdl:output message="tns:ZSMS_INBOUNDResponse" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="ZSMS_INBOUNDSoapBinding" type="tns:ZSMS_INBOUND">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="ZSMS_INBOUND">
<soap:operation soapAction="" />
- <wsdl:input>
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="ZSMS_INBOUNDService">
- <wsdl:port name="ZSMS_INBOUNDSoapBinding" binding="tns:ZSMS_INBOUNDSoapBinding">
<soap:address location="http://mytest:8080/sap/bc/srt/rfc/sap/ZSMS_INBOUND?sap-client=100" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>I'm now able to consume the web service, but with the error as below:
Warning ! Protocol Implementation [com.sap.engine.services.webservices.jaxrpc.wsdl2java.features.builtin.MessageIdProtocol] could not be loaded (NoClassDefFoundError) !
Error Message is :com/sap/guid/GUIDGeneratorFactory
BAPIRET2 mappingInfo:
TYPE TYPE false false 11
ID ID false false 11
NUMBER NUMBER false false 11
MESSAGE MESSAGE false false 11
LOG_NO LOG_NO false false 11
LOG_MSG_NO LOG_MSG_NO false false 11
MESSAGE_V1 MESSAGE_V1 false false 11
MESSAGE_V2 MESSAGE_V2 false false 11
MESSAGE_V3 MESSAGE_V3 false false 11
MESSAGE_V4 MESSAGE_V4 false false 11
PARAMETER PARAMETER false false 11
ROW ROW false false 11
FIELD FIELD false false 11
SYSTEM SYSTEM false false 11
My java code is :
public class MyTest {
public static void main(String[] args){
try{
Stub stub = (Stub)new ZSMS_INBOUNDServiceImpl().getLogicalPort();
stub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY,"http://mytest:8080/sap/bc/srt/rfc/sap/ZSMS_INBOUND?sap-client=100");
ZSMS_INBOUND inboundService = (ZSMS_INBOUND) stub;
BAPIRET2 str = inboundService.ZSMS_INBOUND(param1,param2,param3,param4,param5,param6);
System.out.println(str.toString());
}catch (Exception e) {
e.printStackTrace(); -
Consuming Web Service using WS-Security: USERNAME Token
Hi ABAP Experts,
we like to consume a self defined web service between to SAP systems (ECC6 701/006). Without any security settings the connection is successfully. But we like to setup a message security like USERNAME Token.
The wss profiles are already created by using TX: WSSPROFILE. Therefore we used the templates "SET_USERNAME" and "CHECK_USERNAME". The service user "DELAY_L<sid>" has been generated as well. The problem is in SOAMANAGER we can't find the related configuration (For Provider and Consumer) to set the parameters "PROFILE In" and "Profile Out" like it was in the obsolete TX "LPCONFIG".
Can anybody help me to find out how to configure USERNAME Token using SOAMANAGER.
Thank you very much in advance.
Kind regards
AxelHi,
The following articles would be helpful:
.net call WS-Security enabled web service (created in java)
http://stackoverflow.com/questions/2138129/net-call-ws-security-enabled-web-service-created-in-java
WS-Security Protocol with .NET – A Overview
http://www.c-sharpcorner.com/UploadFile/mahesha/WSSecurityProtocol11232005052243AM/WSSecurityProtocol.aspx
An introduction to Web Service Security using WSE - Part I
http://www.codeproject.com/Articles/7062/An-introduction-to-Web-Service-Security-using-WSE
As this question is not relate to SharePoint, I suggest you post it to a suitable Forum, you will get more help and confirmed answers from there.
Best Regards
Dennis Guo
TechNet Community Support -
Can i use flex to consume web services?
I am not a Flex developer and before delving into it I want
to be sure that it satisfies my project requirements. Mainly,
consuming web services. the other part of the project are a bunch
of buttons and graphs that constitute any GUI. so I think Flex can
handle this part as good as Flash.
Currently, I am using flash but my current client insists on
using flex. so my question is: can I develop in Flex whatever I can
develop in flash? or are there limitations?If you are developing applications in Flash, then you will
love Flex. Flex will make you much more productive than Flash for
producing applications of any complexity. You can do at least
"most" of what you can do in Flash, and more. There might be a few
things you can do only in Flash, or more easily in Flex, but your
client has it right. They want Flex and they should want it. Check
out the FB3 help for the WebService, RemoteObject, and HTTPService
components. -
OC4J client with WCF Web Service using Mutual Certificates
I'm trying to generate client stubs for a WCF web service.
I tried using docs here:
http://docs.oracle.com/cd/B10464_05/web.904/b10447/tools.htm
# OC4J 9.0.4
Java sdk 1.4.2_03
cd \dev\oc4j-9.0.4\webservices\lib
- config.xml
<?xml version="1.0"?>
<web-service>
<proxy-gen>
<proxy-dir>output/clientclass/examples/webservices/simple_client</proxy-dir>
<option name="include-source">true</option>
<option name="wsdl-location">
http://xxx.xxxxx.xxx:9000/WCFTestService/Service.svc?wsdl</option>
</proxy-gen>
</web-service>
java -jar WebServicesAssembler.jar -debug
- ends with NullPointerException:
<output>
Please wait ...
..parsing top level elements
..generating client side proxy for wsdl :
http://xxx.xxxxx.xxx:9000/WCFTestService/Service.svc?wsdl
....compiling client side proxy for package :proxy
Exception in thread "main" java.lang.NullPointerException
at oracle.j2ee.ws.tools.WsAssmProxyGenerator.doCompile(WsAssmProxyGenerator.java:284)
at oracle.j2ee.ws.tools.WsAssmProxyGenerator.processProxy(WsAssmProxyGenerator.java:135)
at oracle.j2ee.ws.tools.WsAssmProxyGenerator.clientGenerate(WsAssmProxyGenerator.java:112)
at oracle.j2ee.ws.tools.WsAssembler.assemble(WsAssembler.java:96)
at oracle.j2ee.ws.tools.WsAssembler.main(WsAssembler.java:54)
</output>
- Then tried using Sun jdk to gen proxy:
# Just SDK
Java sdk 1.6.0_25
wsimport -keep -extension -d output -s src -p examples.webservices http://xxx.xxxxx.xxx:9000/WCFTestService/Service.svc?wsdl
<ListOfGeneratedJavaFiles>
CompositeType.java
GetData.java
GetDataResponse.java
GetDataUsingDataContract.java
GetDataUsingDataContractResponse.java
IService.java
ObjectFactory.java
package-info.java
Service.java
</ListOfGeneratedJavaFiles>
- creates the service and port, but where is the stub?
in my code I use the stub to set the certificate auth
<codeSnip>
// get the ws stub
IService_Stub serviceStub = (IService_Stub)iSampleService;
// add the credential providers to the ws stub
serviceStub._setProperty(WSSecurityContext.CREDENTIAL_PROVIDER_LIST,
credProviders);
</codeSnip>
# WebLogic 10.3.5
I'm happy to say that everything seems to work well under WebLogic 10.3.5.
I used weblogic.wsee.tools.anttasks.ClientGenTask with ant
to generate the proxy files.
<ListOfGeneratedJavaFiles>
IService.java
IService_Stub.java
Service.java
Service_Impl.java
</ListOfGeneratedJavaFiles>
I understand how to use these files and everything works.
But we need this to work in the OC4J orion server before we are ready to upgrade to WebLogic.
I have also tried OC4J 10.1.2.0.2 - same a OC4j 9.0.4 - null pointer.
I also tried Metro, but it uses wsimport, so also does not have a stub.
I'm out of ideas. Any pointers or advice are greatly appreciated.
Thank you.My guess would be that the server's certificate isn't in your client's trust-store (which defaults to "cacerts"). Chances are your senior architect has already imported the server-cert on his machine and forgotten he did so.
Grant -
Using existing Application Modules Entities in web service provider
Hi, I want to implement a web service provider having a WSDL file and using JAXWS.
Is it possible to use in input methods of the service, an Application Module or Entities or View Objects that exist in a separate project.
I want to perform database operations and facilitate transactions using existing ORM mapping of ADF.
Thanks,
Ilias StavrakisYes, it is possible, but you have to checkout and release the ApplicationModules manually. Use the method <tt>Configuration.createRootApplicationModule(...)</tt> of the class <tt>oracle.jbo.client.Configuration</tt> to checkout modules, and use the method <tt>Configuration.releaseRootApplicationModule(...)</tt> to release it back to the AM pool at the end of processing.
See this blog entry http://jobinesh.blogspot.com/2010/04/invoking-applicationmodule-from-servlet.html despite the fact that it is not directly related to Web services. -
Windows authentification while consuming web service from ABAP
Hi All,
We are consuming web service from ABAP, we have created client proxy in SE80 and configured logical port in LPCONFIG.
This one was working fine. Now we have added windows user authentification to access this service.
Now when I'm trying to regenerate this proxy in R/3 it is asking for user and password. When I enter these details this one is not working.
If I access this service direcly from internet explorer and I enter same user and password then I would able to access this service.
Could you please let me know how to handle this.
Regards
VikramThe dialog that is produced by HTTP Destination object of the logical port is designed only for use within Classic Dynpro applications. There is no prompt produced when running in Web Dynpro. If possible assign a generic user within the logical port definition and this will be used automatically by all users.
Maybe you are looking for
-
TS1389 I have the error 42111 when I start iTunes.
Hello, I have the error 42111 when I start iTunes. I did not download a movie, I just installed the newest version of iTunes. I reinstalled but that didin't help. What can I do? I have Windows 8.
-
Why does my 4g and 3gs i phone get my message when its not group message?
why does my 4g and 3gs i phone get my messages,same household but not group message same apple itune account thou.
-
ORACLE EQUVALENT OF "EVALUATE" FUNCTION OF FOXPRO? or any other solution
I have a string (varchar2) holding the following '39 + (25 /3) - 200' ,which is a argument to a function returning the value (numeric) of the expression contained in the string. for eg. Declare varstr varchar2(2000) := '10 + (75/3)*10'; value number;
-
Closed trial box after downloading photoshop cc
Hi I closed the box to select a trial version after downloading photoshop cc, instead of selecting it. How do I go back to this stage, to enable me to use the downloaded version?
-
CCMS "no value has yet been reported" problem
Hi, Of five application servers in our productive ECC 6.0 system on Sun solaris 10 and Oracle 10.2.0.2, two of them show "No value has yet been reported" in the CCMS (RZ20) for several MTE's such as FrontendResponseTime and ResponseTime. One applicat