WSDL for getDataExport Restful Web Service

Hello Folks,
As per documentation http://help.sap.com/saphelp_sop301/sop301_api_en.pdf
API uses RESTful WS getDataExport from 3.0 onwards..
I am trying to call this WS from ECC. How I can get its WSDL file.
Since URIs mentioned in file seems not working.
Please suggest.

A related question: can one expose a servlet as web service (Document style). How to do that?

Similar Messages

  • Which is the best API for creating restful web services.

    Hi guys,
    I have tried a lot of apis to create a restful web service. But none of them has perfect documentation or examples. Which is the best one that has good support and future.

    "Best" automatically implies opinions and speculation; one I personally believe has a bright future is Jersey. Jersey is the reference implementation (RI) for [JSR-311|http://jcp.org/en/jsr/detail?id=311] ("The Java API for RESTful Web Services" or JAX-RS).

  • Need to auto-generate SDK for REST web service.

    My company has developed a REST API for some web services, and we'd like to provide users with a Java SDK for consuming those services.
    Our services are described by an XSD schema. On the backend, we are using JAXB to create Java classes corresponding to the schema. We create the request objects based on the parameters in the REST url, and JAXB converts our response objects from Java to XML.
    We'd like to provide our users with similar Java classes on the client side. They should be able to create the object corresponding to the request, fill in various parameters, and submit it to our web service. The SDK should automatically convert the object into a REST URL, hit the URL with a Get, read the XML response, and convert that response into Java objects.
    It seems like we should be able to auto-generate such an SDK based on our schema.
    It seems like there are several tools for doing this for SOAP web services. For example, Apache Axis has Java2WSDL and WSDL2Java.
    Can anyone recommend tools for creating client-side libraries for consuming RESTful web services? Does anyone have advice on products to avoid?

    Replying to my own post here. The WADL2Java project on java.dev seems to be more like what I need. The only user-experience I've seen on the 'net is in this forum post:
    http://forum.java.sun.com/thread.jspa?threadID=5239123&tstart=0
    Anyone else used it?

  • REST web service set up

    Hello,
    Need help setting up an xpath for a rest web service
    response path:  //m:properties
    REST output parameters
    name:  project   path: /d:WO_PREFIX
    When I try to create a Form and Report I get an error using the defaults:
    ORA-20001: Unable to create form on table. ORA-00907: missing right parenthesis
    What would be the correct setup for this to work????
    Here is an example of my response
    <?xml version="1.0" encoding="utf-8"?>
    <feed xml:base="http://xxx.xx.com/EF/odata" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml">
      <id>http://schemas.datacontract.org/2004/07/</id>
      <title />
      <updated>2013-08-28T17:51:58Z</updated>
      <link rel="self" href="http://xxx.xx.com/EF/odata/PROJECTS" />
      <entry>
        <id>http://xxx.xxx.com/EF/odata/PROJECTS('ZZZ')</id>
        <category term="WOSApi.Models.PROJECT" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
        <link rel="edit" href="http://xxx.xx.com/EF/odata/PROJECTS('ZZZ')" />
        <link rel="self" href="http://xxx.xx.com/EF/odata/PROJECTS('ZZZ')" />
        <title />
        <updated>2013-08-28T17:51:58Z</updated>
        <author>
          <name />
        </author>
        <content type="application/xml">
          <m:properties>
            <d:WO_PREFIX>ZZZ</d:WO_PREFIX>
          </m:properties>
        </content>
      </entry>
    </feed>

    Use Xmlspy or some editor to modify or edit the WSDL as per need.
    elementFormDefault="qualified"
    This means that all the elements in the XML document must have namespace variable prefixed with them.
    elementFromDefault="unqualified"
    This means that not all the elements in the XML document requires namespace variable prefixed with them. Only the root element has to be prefixed with namespace variable.

  • Consuming Synchronous RESTful Web Service with PI

    Dear experts,
    i have a scenario for consuming RESTful web service.
    i have followed all the steps showed in the following link for configuring my interface.
    http://scn.sap.com/community/pi-and-soa-middleware/blog/2012/08/11/calling-synchronous-restful-web-service-with-pi--i
    but still i am facing issues at the communication channel level, the trace of the communication channel is as follows
    Error While Sending Message: Additional error text from response: com.sap.engine.interfaces.messaging.api.exception.MessagingException: org.apache.axis.ConfigurationException: adapter is null org.apache.axis.ConfigurationException: adapter is null at com.sap.aii.adapter.axis.modules.HandlerCore.process(HandlerCore.java:60) at com.sap.aii.adapter.axis.modules.HandlerBean.process(HandlerBean.java:86) at sun.reflect.GeneratedMethodAccessor602.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:47) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:50) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:37) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:21) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_MethodRetry.invoke(Interceptors_MethodRetry.java:46) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:191) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:23) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:25) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:17) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:138) at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164) at com.sun.proxy.$Proxy3284.process(Unknown Source) at com.sap.aii.af.app.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:264) at sun.reflect.GeneratedMethodAccessor544.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:47) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:50) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:37) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:21) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_MethodRetry.invoke(Interceptors_MethodRetry.java:46) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:191) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:23) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:25) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:17) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:138) at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164) at com.sun.proxy.$Proxy646.process(Unknown Source) at com.sap.aii.af.app.listener.AFWListenerBean.onMessage(AFWListenerBean.java:422) at sun.reflect.GeneratedMethodAccessor558.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:47) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:50) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:37) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:21) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_MethodRetry.invoke(Interceptors_MethodRetry.java:46) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:191) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:23) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:25) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:17) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:138) at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164) at com.sun.proxy.$Proxy603.onMessage(Unknown Source) at com.sap.engine.messaging.impl.spi.ServicesImpl.deliver(ServicesImpl.java:362) at com.sap.aii.adapter.xi.ms.XIEventHandler.onDeliver(XIEventHandler.java:1091) at com.sap.engine.messaging.impl.core.queue.consumer.RequestConsumer.onMessage(RequestConsumer.java:75) at com.sap.engine.messaging.impl.core.queue.Queue.run(Queue.java:1017) at com.sap.engine.messaging.runtime.MSWorkWrapper.run(MSWorkWrapper.java:58) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:185) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:302)
    i have also attached screen shots of module tab of my SOAP(Axis) adapter
    regards,
    sushant

    Hi Sushant
    Check the question 11.I am getting org.apache.axis.ConfiguraitonException: adapter is null in this note 1039369 - FAQ XI Axis Adapter
    (you will find all the answers in the attachment section)
    Regards.

  • Restful Web Services - First Party Authentication with custom authentication schemes

    Hi
    I've successfully enabled security using first party authentication on our Restful web services however these only work with the built in Apex accounts and not other authentication schemes.
    Ideally I'd like to authenticate against LDAP, however when I enable this authentication scheme the restful services don't work as they only support the Apex accounts. 
    Has anyone implemented LDAP authentication for Apex restful web services, either directly or using Glassfish ? Does anyone know if support for custom authentication schemes on the feature roadmap for a future Listener release ?
    I attempted to configure the glassfish application against LDAP but am still working on it.. glassfish never challenged the client to authenticate (it's only to be for the web service endpoints and nothing else), so any pointers on how to set that up for Apex would be appreciated.
    Thanks
    Kes

    Hi Gemma,
    unfortunately at the moment you are caught between a rock and a hard place:
    - As you point out there is no way in APEX for a user to self-register themselves, short of developing your own table to store users and configuring APEX custom auth to authenticate against that table
    - Listener can only authenticate against the the APEX user repository, it cannot integrate with custom APEX authentication.
    There may be other options though, by leveraging the authentication capabilities in the JRE and/or WebLogic/GlassFish application servers. We're interested in addressing this use case, so if you wish to investigate further please send me an email ( colm <dot> divilly <at> oracle <dot> com).
    Thanks,
    Colm Divilly

  • How to call restful web services from BPEL

    How do we call create partnerlinks for calling RESTful web services in Oracle BPEL.
    Any ideas ?

    Raymond,
    1. To consume WebService in Flex you don't need FDS at all.
    2. AFAIK, you need crossdomain.xml at WS host or System.allowDomain("ws-host") or System.allowInsecureDomain("ws-host") on Flex side. Check Flex documentation.
    3. Better to discuss this topic in some other forum -- say WebAS General. It's not related to WD
    Valery Silaev
    SaM Solutions
    http://www.sam-solutions.net

  • Creating RESTful Web Service for BLOB retrieval

    Hi,
    Just got RESTful web services working in Apex 4.2.1 with new Listener 2.1.
    I have now been asked to create a RESTful web service by which photos in BLOB column can be retrieved upon providing the ID for that photo. Can this be done using the Creating RESTful Service Module of Apex 4.2.1? Looking at the Apex 4.2 documentation, I would assume this can be done, but has anyone used this with BLOB data?
    Thanks,
    Pat

    Hi Pat,
    Yes this can be done using RESTful Services - you just need to ensure the query used is in the required format. To obtain a BLOB for a given ID, you would need create a Resource template and handler with the following settings:
    Resource Template Settings:
    URI template: emppic/{id}
    Resource Handler Settings:
    Source query: select mimetype, product_image from demo_product_info where product_id = :id..where the format of the SQL query is SELECT 'content_type', blob_column FROM . . ., as mentioned in Rick Greenwald's Cloud White paper "RESTful Web Services for the Oracle Database Cloud", under the "SQL Source Type" section (see www.oracle.com/technetwork/database/database-cloud/public/restful-wp-1844130.pdf ):
    where 'content_type' is a string passed to the browser to be used to identify the incoming data, and the column to identify the source of the data being sent back. This data is sent back untouched by the Oracle Database Cloud Service. The Media Resource Source Type is typically used for media objects, such as images, where the data will be directly handled by the recipient making the call.The MIMETYPE column in the sample query above holds the necessary setting for the 'content_type' i.e. 'image/jpeg'. The value of ID is then passed in as a parameter when calling the service e.g. emppic/1234. The item level help text would be more helpful if it included additional information, and this is something we intend on addressing in a future release.
    I hope this example helps.
    Regards,
    Hilary

  • ADF Mobile - Securing REST Web Services

    Hi,
    I've developed some REST web services for my ADF Mobile app to use. They work fine but I'm having trouble securing them. According to the developer guide:
    http://docs.oracle.com/cd/E35521_01/doc.111230/e24475/amxwebservices.htm#CHDGFCGD
    10.5.2 How to Enable Access to REST-Based Web Services
    Since only one security policy is supported for REST-based web services, ADF Mobile automatically adds oracle/wss_http_token_over_ssl_client_policy for REST web service over HTTPS, or oracle/wss_http_token_client_policy for REST web service over HTTP protocol to enable Oracle Web Services Manager (OWSM) Lite Mobile ADF Application Agent to inject a proper security header.
    ..so I'm trying to attach the policy oracle/wss_http_token_service_policy to the web service, but deploying it to Weblogic results in the below stack trace.
    I'm trying to attach the policy in JDeveloper by selecting the service class in the java structure pane, then in the Property Inspector, using the "Web Services extension" section to select the policy.
    I'm guessing I've missed a step, but can't find what. Or I'm doing completely the wrong thing. Either way, any help in resolving would be very much appreciated.
    Rich.
    weblogic.application.ModuleException: [HTTP:101216]Servlet: "CDRestServicePort" failed to preload on startup in Web application: "RestServices".
    javax.xml.rpc.JAXRPCException: oracle.wsm.common.sdk.WSMException: WSM-07508 : Oracle WSM Agent initialization failed due to PolicySet validation errors: WSM-07617 Policy: oracle/wss_http_token_service_policy contains unsupported assertions. 
    , with PolicySet=PolicySet [timestamp=Mon Oct 21 13:53:23 BST 2013, subjectPattern=ResourcePattern [pattern=/DefaultDomain/DefaultServer/SOAPServices/WEBs/RestServices.war/WLSWEBSERVICEs/CDRestServiceService/PORTs/CDRestServicePort, subjectType=WLS_SERVICE, terms={PORT=CDRestServicePort, IMPLEMENTATION=WEB, SUBJECT_TYPE=WLS_SERVICE, SERVICE=CDRestServiceService, MODULE=RestServices.war, APPLICATION=SOAPServices, DOMAIN=DefaultDomain, SERVER=DefaultServer}], domainExpression=http://restws.westbourne/#wsdl.endpoint(CDRestServiceService/CDRestServicePort), polmap={oracle/wss_http_token_service_policy={Policy[wsp:http://schemas.xmlsoap.org/ws/2004/09/policy][oralgp:http://schemas.oracle.com/ws/2006/01/loggingpolicy][local-optimization:off][provides:{http://docs.oasis-open.org/ns/opencsa/sca/200903}authentication, {http://docs.oasis-open.org/ns/opencsa/sca/200903}clientAuthentication, {http://docs.oasis-open.org/ns/opencsa/sca/200903}clientAuthentication.transport][status:enabled][xmlns:http://schemas.xmlsoap.org/ws/2004/09/policy][wsu:http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd][Id:wss_http_token_service_policy][displayName:i18n:oracle.wsm.resources.policydescription.PolicyDescriptionBundle_oracle/wss_http_token_service_policy_PolyDispNameKey][orawsp:http://schemas.oracle.com/ws/2006/01/policy][orasp:http://schemas.oracle.com/ws/2006/01/securitypolicy][description:i18n:oracle.wsm.resources.policydescription.PolicyDescriptionBundle_oracle/wss_http_token_service_policy_PolyDescKey][attachTo:binding.server][Name:oracle/wss_http_token_service_policy][xsi:http://www.w3.org/2001/XMLSchema-instance][category:security][{LogAssertion[Logging][{AssertionBindings[{Config[name:Log Message1_properties][{PropertySet[name:standard-security-properties][{Property[type:string][contentType:optional][name:reference.priority]}]}]}]}][{MessageLog[ Request = all][ Response =all]}]}][{HttpSecurityScenario[http-security][Silent:true][name:Http Security][Enforced:true][category:security/authentication][{AssertionBindings[{Config[name:HttpConfig][configType:declarative][{PropertySet[name:standard-security-properties][{Property[type:string][contentType:constant][name:realm][Value:owsm]}][{Property[type:string][contentType:constant][name:role][Value:ultimateReceiver]}][{Property[type:string][contentType:optional][name:reference.priority]}]}]}]}]}][{LogAssertion[Logging][{AssertionBindings[{Config[name:Log Message2_properties][{PropertySet[name:standard-security-properties][{Property[type:string][contentType:optional][name:reference.priority]}]}]}]}][{MessageLog[ Request = all][ Response =all]}]}]}}}, constraintedDataMap={ConstraintGroup [terms=[], size=0, weight=0]=ConstraintedData [status=FAILURE, localoptimization=null, validationErrors=[Error Code:WSM-07617 Error Context:Policy], overrides=[], polRefs=[PolicyReference [policyURI=oracle/wss_http_token_service_policy, polRefQName={http://schemas.xmlsoap.org/ws/2004/09/policy}PolicyReference, version=-1, attributes={{http://schemas.oracle.com/ws/2006/01/policy}status=enabled, {http://schemas.oracle.com/ws/2006/01/policy}category=security}, overrideProps=null]]]}, locked=true]
      at oracle.wsm.agent.handler.wls.WSMAgentHook.handleException(WSMAgentHook.java:462)
      at oracle.wsm.agent.handler.wls.WSMAgentHook.init(WSMAgentHook.java:274)
      at weblogic.wsee.jaxws.framework.jaxrpc.TubeFactory.newHandler(TubeFactory.java:108)
      at weblogic.wsee.jaxws.framework.jaxrpc.TubeFactory.createServer(TubeFactory.java:81)
      at weblogic.wsee.jaxws.WLSTubelineAssemblerFactory$TubelineAssemblerImpl.createServer(WLSTubelineAssemblerFactory.java:216)
      at com.sun.xml.ws.server.WSEndpointImpl.<init>(WSEndpointImpl.java:213)
      at weblogic.wsee.jaxws.WLSContainer$WLSEndpointFactory$WLSEndpointImpl.<init>(WLSContainer.java:623)

    Hi,
    so have you "Oracle Web Services Manager (OWSM) Lite Mobile ADF Application Agent" installed? Sounds this is a pre-requisite for this work
    Frank

  • Basic auth with RESTful WEb service and Web Service reference

    Hi, All,
    We have made much progress on getting an application working wtih RESTful web services but now are trying to figure out how to lock down a RESTful Web service while making it available for a particular application.
    We are using one of the sample 'emp' table web services that come with Apex 4.2 and are trying to apply Basic Auth to the WEb Service via Weblogic filter defined in the web.xml file. That works fine. I now get challenged when I try to go to :
    https://wlogic.edu/apex/bnr/ace/hr/empinfo/
    And when I authenticate to that challenge I am able to get the data. (we are usiing LDAP authentication at the Weblogic level)
    However, I am not sure how to get same basic authentication to work with the Web Service reference in my application. I see the error message in the application when I try to call that Web Service:
    401--Unauthorized<
    And I see:
    "The request requires user authentication. The response MUST include a WWW-Authenticate header field (section 14.46) containing a challenge applicable to the requested resource. The client MAY repeat the request with a suitable Authorization header field (section 14.8). If the request already included Authorization credentials"
    How do I provide the credentials in the Web REference or do I provide credentials in the Application?
    Web service works fine if I remove the RESTful web service basic auth from the Web.xml file.
    Should we NOT use Weblogic basic auth and instead use basic auth from Workspace RESTful web service definition. If so, how do we implement THAT basic auth in the Web Service definition and in the Web SErvice Reference on the application?
    Thanks,
    Pat

    What I mean is diid you try to use the PL/SQL package for APEX webservice. Here is an example I use (modified and shortened, just to show how much better this is than to use it from the application).
    CREATE OR REPLACE PACKAGE webservice_pkg
    IS
       PROCEDURE create_webservice (
          p_id            IN       NUMBER,
          p_message       OUT      VARCHAR2,
          p_workspace     IN       VARCHAR2 DEFAULT 'MY_WORKSPACE',
          p_app_id        IN       NUMBER DEFAULT v ('APP_ID'),
          p_app_session   IN       VARCHAR2 DEFAULT v ('SESSION'),
          p_app_user      IN       VARCHAR2 DEFAULT v ('APP_USER')
    END webservice_pkg;
    CREATE OR REPLACE PACKAGE BODY webservice_pkg
    IS
       PROCEDURE set_credentials (
          p_workspace     IN   VARCHAR2,
          p_app_id        IN   NUMBER,
          p_app_session   IN   VARCHAR2,
          p_app_user      IN   VARCHAR2
       IS
          v_workspace_id   NUMBER;
       BEGIN
          SELECT workspace_id
            INTO v_workspace_id
            FROM apex_workspaces
           WHERE workspace = p_workspace;
          apex_util.set_security_group_id (v_workspace_id);
          apex_application.g_flow_id := p_app_id;
          apex_application.g_instance := p_app_session;
          apex_application.g_user := p_app_user;
       END set_credentials;
       PROCEDURE create_webservice (
          p_id            IN       NUMBER,
          p_message       OUT      VARCHAR2,
          p_workspace     IN       VARCHAR2 DEFAULT 'MY_WORKSPACE',
          p_app_id        IN       NUMBER DEFAULT v ('APP_ID'),
          p_app_session   IN       VARCHAR2 DEFAULT v ('SESSION'),
          p_app_user      IN       VARCHAR2 DEFAULT v ('APP_USER')
       IS
          v_envelope          VARCHAR2 (32000);
          v_server            VARCHAR2 (400);
          v_url               VARCHAR2 (4000);
          v_result_url        VARCHAR2 (1000);
          v_collection_name   VARCHAR2 (40)    := 'PDF_CARD';
          v_message           VARCHAR2 (4000);
          v_xmltype001        XMLTYPE;
       BEGIN
          v_url := v_server || '.myserver.net/services/VisitCardCreator?wsdl';
          FOR c IN (SELECT *
                      FROM DUAL)
          LOOP
             v_envelope :=
                   '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" '
                || 'xmlns:bran="http://www.myaddress.com">'
                || CHR (10)
                || '<soapenv:Header/><soapenv:Body>'
                || CHR (10)
                || '<parameter:'
                || 'some_value'
                || '>'
                || CHR (10)
                || '<bran:templateID>'
                || p_id
                || '</bran:templateID>'
                || '</soapenv:Body>'
                || CHR (10)
                || '</soapenv:Envelope>';
          END LOOP;
          set_credentials (p_workspace, p_app_id, p_app_session, p_app_user);
          BEGIN
             apex_web_service.make_request
                                         (p_url                  => v_url,
                                          p_collection_name      => v_collection_name,
                                          p_envelope             => v_envelope
             p_message := 'Some message.';
          EXCEPTION
             WHEN OTHERS
             THEN
                v_message :=
                      v_message
                   || '</br>'
                   || 'Error running Webservice Request. '
                   || SQLERRM;
          END;
          BEGIN
             SELECT    v_result_url
                    || EXTRACTVALUE (VALUE (t),
                                     '/*/' || 'Return',
                                     'xmlns="http://www.myaddress.com"'
                    xmltype001
               INTO v_result_url,
                    v_xmltype001
               FROM wwv_flow_collections c,
                    TABLE
                        (XMLSEQUENCE (EXTRACT (c.xmltype001,
                                               '//' || 'Response',
                                               'xmlns="http://www.myaddress.com"'
                        ) t
              WHERE c.collection_name = v_collection_name;
          EXCEPTION
             WHEN OTHERS
             THEN
                v_message := v_message || '</br>' || 'Error reading Collection.';
          END;
       EXCEPTION
          WHEN OTHERS
          THEN
             p_message := v_message || '</br>' || SQLERRM;
       END create_webservice;
    END webservice_pkg;
    /If you use it this way, you will find out what the problem is much faster.
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.apress.com/9781430235125
    http://apex.oracle.com/pls/apex/f?p=31517:1
    http://www.amazon.de/Oracle-APEX-XE-Praxis/dp/3826655494
    -------------------------------------------------------------------

  • How to bind to REST web services?

    The REST web services don't provide WSDL. How to bind this kind of services?
    Thanks.

    Melvin, not yet (in fact it's on my plate) - what I usually argue for is to abstract these pieces into services (much like what I did in the rest sample, and then expose them .. )
    In any case - I will start collecting ideas (that is topics) for best practices soon .. Let me know if you have any specific wishes.
    cheers

  • HTTP error when trying to access RESTful web service from application

    Hi,
    We are getting the following error when trying to access a RESTful web service coming from Apex workspace 4.2.1 and Apex listener 2.1:
    ORA-29273: HTTP request failed ORA-06512: at "SYS.UTL_HTTP", line 1130 ORA-29024: Certificate validation failure
    In the Debug report, besides the above I also see:
    error_backtrace: ORA-06512: at "SYS.UTL_HTTP", line 1130 ORA-06512: at "APEX_040200.WWV_FLOW_WEB_SERVICES", line 543 ORA-06512: at "APEX_040200.WWV_FLOW_WEB_SERVICES", line 1164 ORA-06512: at "APEX_040200.WWV_FLOW_PROCESS", line 396
    We get that error whether we use https or http in the URI pointing to the web service. When I test the Web Service in Workspace RESTful service GUI, I get the data back. When I go build an application with a report calling the RESTful Web Service I get that error. Both the Application and the Workspace RESTful services are on the same Apex environment and even the same workspace.
    What is odd is that I can actually put the URL of the web service into a browser and I get the data: (using the demo hr data in sample RESTful services.)
    IN browser-- https://weblogic-dev.edu/apex/ace/hr/empinfo/
    yields:
    7839,KING,PRESIDENT,,1981-11-17T05:00:00Z,5000,,10 7698,BLAKE,MANAGER,7839,1981-05-01T04:00:00Z,2850,,30 7782,CLARK,MANAGER,7839,1981-06-09T04:00:00Z,2450,,10 7566,JONES,MANAGER,7839,1981-04-02T05:00:00Z,2975,,20 7788,SCOTT,ANALYST,7566,1982-12-09T05:00:00Z,3000,,20 7902,FORD,ANALYST,7566,1981-12-03T05:00:00Z,3000,,20 7369,SMITH,CLERK,7902,1980-12-17T05:00:00Z,800,,20 7499,ALLEN,SALESMAN,7698,1981-02-20T05:00:00Z,1600,300,30 7521,WARD,SALESMAN,7698,1981-02-22T05:00:00Z,1250,500,30 7654,MARTIN,SALESMAN,7698,1981-09-28T04:00:00Z,1250,1400,30 7844,TURNER,SALESMAN,7698,1981-09-08T04:00:00Z,1500,0,30 7876,ADAMS,CLERK,7788,1983-01-12T05:00:00Z,1100,,20 7900,JAMES,CLERK,7698,1981-12-03T05:00:00Z,950,,30 7934,MILLER,CLERK,7782,1982-01-23T05:00:00Z,1300,,10
    Any ideas on what would be causing the Error above in our application?
    Thanks,
    Pat
    Edited by: patfmnd on Mar 11, 2013 3:25 PM
    In reviewing the above error, I think we are realizing that we have to have the Weblogic layer SSL cert (actually the CERT from our BigIP load balancer which also does our SSL termination) imported into the Oracle server wallet where Apex is installed. Am I correct?
    PM

    We resolved our problem. The Apex Administrative Guide made us realize that we had to set up Wallet path in the Instance. This required working with DBAs to follow the Advanced networking guide to get the wallet set up on our server. We then added that path to the Instance configuration. (Manager Instance --> Instance settings). We ran into another other issue related to our implementation of CAS but were able to resolve that, and 'voila' were able to get the sample RESTful service consumed by our application!!
    Now to the task of figuring out how to get Basic Auth working between client application and RESTful web service. If anyone has that working, let us know!!
    It would be helpful if in the documentation of the Apex 2.x listener or Apex install/configuration there was clear reference to the above steps required for HTTPS access to RESTful web services.
    Pat

  • Create a Secure Client for a Secure Web Service- is failing

    Hi,
    This is actually with reference to the webservice tutorial.I am trying the example on Create a Secure Client for a Secure Web Service and have followed all the steps mentioned,however I am getting the following error:
    D:\JDev11gTp\jdk\bin\javaw.exe -client -classpath D:\Jdev11gTpInstance\mywork\WebServiceApplications\.adf;D:\Jdev11gTpInstance\mywork\WebServiceApplications\WebServiceProjects\classes;D:\JDev11gTp\webservices\lib\jaxws-api.jar;D:\JDev11gTp\webservices\lib\jws-api.jar;D:\JDev11gTp\webservices\lib\orawsmetadata.jar;D:\JDev11gTp\webservices\lib\wsclient.jar;D:\JDev11gTp\j2ee\home\lib\activation.jar;D:\JDev11gTp\j2ee\home\lib\ejb.jar;D:\JDev11gTp\j2ee\home\lib\jms.jar;D:\JDev11gTp\j2ee\home\lib\jta.jar;D:\JDev11gTp\j2ee\home\lib\mail.jar;D:\JDev11gTp\j2ee\home\lib\servlet.jar;D:\JDev11gTp\webservices\lib\jaxrpc-api.jar;D:\JDev11gTp\webservices\lib\wsserver.jar;D:\JDev11gTp\webservices\lib\wssecurity.jar;D:\JDev11gTp\webservices\lib\wsdl.jar;D:\JDev11gTp\webservices\lib\orasaaj.jar;D:\JDev11gTp\webservices\lib\saaj-api.jar;D:\JDev11gTp\webservices\lib\orawsdl.jar;D:\JDev11gTp\webservices\lib\orawsrm.jar;D:\JDev11gTp\webservices\lib\orawsrel.jar;D:\JDev11gTp\webservices\lib\jaxr-api.jar;D:\JDev11gTp\webservices\lib\orajaxr.jar;D:\JDev11gTp\webservices\lib\relaxngDatatype.jar;D:\JDev11gTp\webservices\lib\xsdlib.jar;D:\JDev11gTp\webservices\lib\mdds.jar;D:\JDev11gTp\webservices\lib\wsif.jar;D:\JDev11gTp\webservices\lib\fabric-common.jar;D:\JDev11gTp\webservices\lib\fabric-interceptors.jar;D:\JDev11gTp\jlib\jaxen.jar;D:\JDev11gTp\jlib\oraclepki.jar;D:\JDev11gTp\jlib\ojpse.jar;D:\JDev11gTp\jlib\jsr106.jar;D:\JDev11gTp\jlib\jsr105.jar;D:\JDev11gTp\jlib\osdt_xmlsec_jce.jar;D:\JDev11gTp\jlib\osdt_wss_jce.jar;D:\JDev11gTp\jlib\osdt_saml_jce.jar;D:\JDev11gTp\jlib\osdt_saml2_jce.jar;D:\JDev11gTp\jlib\osdt_core.jar;D:\JDev11gTp\jlib\osdt_cert.jar;D:\JDev11gTp\jlib\osdt_xmlsec.jar;D:\JDev11gTp\jlib\osdt_wss.jar;D:\JDev11gTp\jlib\osdt_saml.jar;D:\JDev11gTp\jlib\osdt_saml2.jar;D:\JDev11gTp\jlib\ojmisc.jar;D:\JDev11gTp\j2ee\home\lib\http_client.jar;D:\JDev11gTp\j2ee\home\jazncore.jar;D:\JDev11gTp\j2ee\home\oc4jclient.jar;D:\JDev11gTp\rdbms\jlib\xdb.jar;D:\JDev11gTp\j2ee\home\lib\javax77.jar;D:\JDev11gTp\lib\java\api\jsr173_api.jar;D:\JDev11gTp\lib\java\shared\sun.jaxb\2.0\jaxb-impl.jar;D:\JDev11gTp\lib\java\shared\sun.jaxb\2.0\jaxb-xjc.jar;D:\JDev11gTp\lib\java\shared\sun.jaxb\2.0\jaxb1-impl.jar;D:\JDev11gTp\j2ee\home\lib\oc4j-schemas.jar;D:\JDev11gTp\jlib\ojdl.jar;D:\JDev11gTp\jlib\ojdl2.jar;D:\JDev11gTp\jlib\fmw_audit.jar;D:\JDev11gTp\j2ee\home\lib\jmxri.jar;D:\JDev11gTp\j2ee\home\lib\jmx_remote_api.jar;D:\JDev11gTp\j2ee\home\lib\adminclient.jar;D:\JDev11gTp\j2ee\home\lib\jmxframework.jar;D:\JDev11gTp\j2ee\home\lib\jmxspi.jar;D:\JDev11gTp\j2ee\home\lib\xmlcfg.jar;D:\JDev11gTp\jlib\dms.jar;D:\JDev11gTp\jlib\orai18n.jar;D:\JDev11gTp\j2ee\home\lib\commons-digester.jar;D:\JDev11gTp\j2ee\home\lib\spring.jar;D:\JDev11gTp\lib\java\shared\oracle.wsm\11.1.1.0\wsm-policy-core.jar;D:\JDev11gTp\lib\java\shared\oracle.wsm\11.1.1.0\wsm-pmclient.jar;D:\JDev11gTp\lib\java\shared\oracle.wsm\11.1.1.0\wsm-pap.jar;D:\JDev11gTp\lib\java\shared\oracle.wsm\11.1.1.0\wsm-agent.jar;D:\JDev11gTp\lib\java\shared\oracle.wsm\11.1.1.0\wsm-secpol.jar;D:\JDev11gTp\lib\java\shared\oracle.javatools\11.1.1.0.0\javamodel-rt.jar;D:\JDev11gTp\lib\java\shared\oracle.javatools\11.1.1.0.0\javatools-nodeps.jar;D:\JDev11gTp\lib\java\shared\oracle.toplink\11.1.1.0.0\toplink-sdo.jar;D:\JDev11gTp\lib\java\api\jaxb-api.jar;D:\JDev11gTp\lib\xmlparserv2.jar;D:\JDev11gTp\lib\xml.jar;D:\JDev11gTp\jakarta-taglibs\commons-logging-1.0.3\commons-logging.jar -Dhttp.proxyHost=localhost -Dhttp.proxyPort=8099 -Dhttp.nonProxyHosts= -Dhttps.proxyHost=localhost -Dhttps.proxyPort=8099 -Dhttps.nonProxyHosts= HelloPolicyPortClient
    Feb 1, 2008 5:13:43 PM oracle.j2ee.ws.common.context.ContextInterceptor init
    INFO: Context provider properties file not found
    Feb 1, 2008 5:13:44 PM oracle.wsm.audit.Auditor <init>
    INFO: Created J2SE auditor for componentType=OWSM-AGENT busstop=D:\oracle\product\10.2.0\client_1\auditlogs\OWSM-AGENT filter=false auditor=oracle.security.audit.Auditor@143a083
    Feb 1, 2008 5:13:44 PM oracle.wsm.audit.Auditor <init>
    INFO: Created J2SE auditor for componentType=OWSM-PM-LIB busstop=D:\oracle\product\10.2.0\client_1\auditlogs\OWSM-PM-LIB filter=false auditor=oracle.security.audit.Auditor@15af049
    SEVERE: WSM-04514 An MDS error occurred.
    SEVERE: WSM-09012 No key, WSM-06002, was found in the resource bundle oracle.wsm.resources.policyvalidation.PolicyValidationMessageBundle.
    javax.xml.ws.WebServiceException: oracle.fabric.common.PolicyEnforcementException: PolicySet Invalid: WSM-06002 PolicyReference Invalid policy reference
    at oracle.j2ee.ws.client.jaxws.DispatchImpl.invoke(DispatchImpl.java:466)
    at oracle.j2ee.ws.client.jaxws.WsClientProxyInvocationHandler.invoke(WsClientProxyInvocationHandler.java:204)
    at $Proxy28.sayHello(Unknown Source)
    at HelloPolicyPortClient.main(HelloPolicyPortClient.java:35)
    Caused by: oracle.fabric.common.PolicyEnforcementException: PolicySet Invalid: WSM-06002 PolicyReference Invalid policy reference
    at oracle.integration.platform.common.InterceptorChainImpl.createPolicyEnforcementException(InterceptorChainImpl.java:217)
    at oracle.integration.platform.common.InterceptorChainImpl.processRequest(InterceptorChainImpl.java:104)
    at oracle.j2ee.ws.client.mgmt.runtime.SuperClientInterceptorPipeline.handleRequest(SuperClientInterceptorPipeline.java:91)
    at oracle.j2ee.ws.client.jaxws.DispatchImpl.handleRequest(DispatchImpl.java:309)
    at oracle.j2ee.ws.client.jaxws.DispatchImpl.handleRequest(DispatchImpl.java:290)
    at oracle.j2ee.ws.client.jaxws.DispatchImpl.invoke(DispatchImpl.java:444)
    ... 3 more
    Process exited with exit code 0.
    Can anyone please give any clue as to why this error is coming?
    Thanks.

    Hi
    Please refer to this thread
    Re: Can I create a login/password protection in Muse for a HTML5 page or two?

  • 401 Unauthorized Error When calling a SharePoint REST web service from SharePoint 2013 Workflow

    We have our Workflow Manger installed on the same server as our SharePoint 2013 WFE development environment. When creating a SharePoint 2013 Workflow all Calls to a SharePoint 2013 REST web service results in a 401 Unauthorized error.
    As an example I created a simple workflow that should return a JSON result. The REST Url returns the results in the browser without error.
    Set Variable:webServiceUrl to https://<hostnamedsitecollection>/_vti_bin/client.svc/web/lists/getbytitle('ISR%20Approvers')/Items?$select=Title&$filter=Title%20eq%20%27General%27
    then Build{...} Dictionary (Output to Variable:requestHeaders)
    then Call [%Variable:webServiceUrl%] HTTP web service with request (ResponseContent to Variable:responseContent |ResponseHeaders to responseHeaders | ResponseStatusCode to Variable:responseCode)
    The RequestHeader is set to the requestHeaders variable though the web service call properties
    then Log Variable:responseCode to the workflow history list
    After manually running the workflow in SharePoint on a list item in the ISR Approvers list it Logs "Unauthorized" in the Workflow History Log. It does this with every SharePoint REST web service call that I have tried through the workflow.
    It doesn't have anything to do with the Workflow Manger being installed on the same machine as the SharePoint WFE does it?
    Thank You for any insight

    Hi,
    According to your post, my understanding is that you had 401 Unauthorized Error when calling a SharePoint REST web service from SharePoint 2013 Workflow.
    Please make sure you use the ‘Call HTTP Web Service’ correctly.
    You can enter the URL into the brower to check whether it is correctly.
    You need to
    create the Request header requestHeaders
    using a Dictionary:
    Accept : application/json;odata=verbose
    Content-Type : application/json;odata=verbose
    To associate the
    requestHeaders variable, select the Call action
    property, set the RequestHeaders property to
    requestHeaders.
    Please refer to the following articles:
    Working with Web Services in SharePoint 2013 Workflows using SharePoint Designer 2013
    Calling the SharePoint 2013 Rest API from a SharePoint Designer
    Workflow
    In addtion, you need to make sure you install the workflow manager correctly.
    More information:
    Install and configure workflow for SharePoint Server 2013
    Known Issues in Workflow Manager 1.0
    Troubleshooting Workflow Manager 1.0 Management and Execution
    Best Regards,
    Linda Li
    Linda Li
    TechNet Community Support

  • Issue with Calling Rest Web Service using Designer workflow

    Hello all
    I am calling a Rest web service- HTTP Post (yammer API)-
    http://www.yammer.com/api/v1/messages.json?data-app-id=myappid&group_id=groupid&body=MyPost in yammer  using sharepoint 2013 designer workflow.(My Requirement is to create a yammer post when I approve an item in sharepoint).
    but my header parameters are creating issue while executing workflow.
    Currently I have these many parameters configured in request header
    Accept -application/json; odata=verbose
    Content Type -application/json; odata=verbose
    content length header -255
    Is there anything wrong or I need to additionally pass some values in call web service action?
    Any help would be highly appreciated

    Hi Mahesh,
    One you are missing is authentication token or credentials.
    Please refer to the following articles.
    http://www.cleverworkarounds.com/2014/02/05/tips-for-using-spd-workflows-to-talk-to-3rd-party-web-services/
    A Series of articles related to Web Service in SPD Workflow
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 1
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 2
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 3
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 4
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 5
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 6
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 7
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 8
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 9
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 10
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 11
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 12
    Please don't forget to mark it answered, if your problem resolved or helpful

Maybe you are looking for

  • Shadow effect printing issue

    Hi I'm having an issue with the shadow effect that must be so simple to resolve because if its not I don't understand why this tool is available. I have created a text box which is placed over another colour area, typed my text, clicked on the shadow

  • Assign function code to a field in internal table

    Hi all, Can we assign a function code to one field in internal table so that we can use it as an user command in list display. For ex: data : begin of itab occurs 0,           check(1) type C,           num type I,          end of itab. I am preparin

  • Error: 1 creative cloud desktop downloading an imac

    Hi, I have a problem downloading creative cloud on my desk, half download I get that you can not error: 1 and not let me download creative cloud on my imac, on my laptop if I could make downloading without any problem, what I can do?, thanks

  • PE6 crash on launch Mac 10.4.11

    Mac 10.4.11 I'm having PE6 crash on launch every time. I have reinstalled. The updater by the way says that the application cannot be found so stuff like camera raw updates don't install. The updates for Acrobat 8 and Reader 9 install fine. It crashe

  • Re: Satellite 1670 - Back to 98SE - Internet connection problems

    I have been using W2K on my 1670 for sometime, but it was slowish, so I decided to put in the recovery disks and get 98SE back. As the laptop is quite old and does not have ethernet as hardware, I also installed a PC Line Ethernet Card Bus, and this