Decidability issue of oralce user defined rules

Hi,
Accoring to some online posts (http://weblog.clarkparsia.com/2007/08/27/understanding-swrl-part-2-dl-safety/, http://protege.cim3.net/cgi-bin/wiki.pl?SWRLLanguageFAQ), SWRL in general is undecidable.However, we can add some restrictions to SWRL to regain decidability: Variables in DL Safe rules bind only to explicitly named individuals in ontology. Adding this restriction is sufficient to make SWRL rules decidable. So, I'm wondering how Oracle user defined rules achieve the decidability. Does it adpot the way simliar to SWRL? Thanks a lot in advance.
Hong

Hi Hong,
This is a good question. Yes we have adopted a similar idea. The forward chaining based inference engine in Oracle Database will only bind existing known RDF resources to variables in rules. We will not generate a new RDF resource that does not previously exist in the ontologies. This is very important because it ensures the inference process will finish in a finite amount of time.
The above does not apply to user defined inferencing (a 12.1 new feature) though.
Thanks,
Zhe

Similar Messages

  • How to use negation in user defined rules?

    Hi,
    Can you please show me an example to use negation in user defined rule? I created a rule like below (the rule says if a patient has a fever problem and not have penicillin hypersensitivity, then recommend medication1):
    INSERT INTO mdsys.semr_myMedicineRB VALUES('rule1',
    '(?p rdf:type :Patient) (?p :present ?c1) (?c1 rdf:type :Fever) (?c2 rdf:type :Penicillin_Hypersensitivity)',
    '(NOT_EXISTS(p :present c2))',
    '(?p :recommendation :medication1)',
    SEM_ALIASES(SEM_ALIAS('','http://www.example/medicine#')));
    The rule successfully inserted into the rulebase. However, I cannot pass the entailment creation phase and got the errors:
    ORA-29532: Java call terminated by uncaught Java exception: java.sql.SQLException: Missing IN or OUT parameter at index:: 1
    ORA-06512: at "MDSYS.SDO_SEM_INF_INTERNAL", line 16453
    ORA-06512: at "MDSYS.SDO_SEM_INFERENCE", line 302
    ORA-06512: at "MDSYS.SDO_SEM_INFERENCE", line 352
    ORA-06512: at "MDSYS.RDF_APIS", line 118
    ORA-06512: at line 2
    29532. 00000 -  "Java call terminated by uncaught Java exception: %s"
    *Cause:    A Java exception or error was signaled and could not be
               resolved by the Java code.
    *Action:   Modify Java code, if this behavior is not intended.
    According to the post built-in primitives(noValue,remove) for user defined rules, it seems negation is not supported in user defined rules. Can you please advice how to implement negation in user defined rules?  Thanks a lot in advance.
    Hong

    Hi Hong,
    Let's look at this similar but simplified problem:
      if (?p  rdf:type  :Patient) and (NOT_EXISTS(?p  :present  :c2)) ==> (?p :recommendation :medication1)
    You can use something like this in the user defined inferencing:
    -- First get the numeric IDs for the relevant URIs
    recomID := sdo_sem_inference.oracle_orardf_add_res('http://..../recommendation');
    medID := sdo_sem_inference.oracle_orardf_add_res('http://..../medication1')
    rdfTypeID := sdo_sem_inference.oracle_orardf_res2vid('... full URI for rdf:type');
    patientID := ...
    presentID := ...
    c2ID := ...
    -- Now this query will find out ?p that satisfy (?p  rdf:type  :Patient) but not
    -- (?p  :present  :c2)
    sqlStmt := '
      select ids1.sid  sub
         from ' || src_tab_view || ' ids1
        where ids1.pid= ' || to_char(rdfTypeID,'TM9') || '
          and not exists (
             select 1
               from ' || src_tab_view || '
              where sid = ids1.sid
                and pid = ' || to_char(presentID, 'TM9') || '
                and oid = '|| to_char(c2ID,'TM9') || '
    insertStmt := '
      insert /*+ parallel append */
       into ' || output_tab || '(sid, pid, oid)
      select sub, '||to_char(recomID,'TM9') || ',' || to_char(medID,'TM9') || '
       from (' || sqlStmt || ')'
    More details can be found in
    http://docs.oracle.com/cd/E16655_01/appdev.121/e17895/inference_extension.htm#CHDDBGEC
    Hope it helps,
    Zhe Wu

  • About user defined function in user defined rule

    Hi,
    I am wondering if I can use a user defined function in a user defined rule in oracle sem.. I've seen examples of user defined function used in sparql query filter clause in that dev. guide. However, I don't know if I can define a function in oracle sem. database and use it in the rule body or head. For example, I want to define a duration function that calculate the date difference between two dates.  Then, I want to define a rule like this: event1 :has_start_date d1 and event1: has_end_date d2 and duration (24, d1,d2) then event1:date_satisfiable "yes". Does oracle support this kind of rule? Thank you very much.
    Hong

    Hi Hong,
    The user defined rules are quite similar to a CONSTRUCT SPARQL query, where the FILTER clause is implemented in SQL.
    I think we have already written rules like you want :
    You have to write a PL/SQL FUNCTION that returns a NUMBER (not a BOOLEAN, think you are in SQL) :
    FUNCTION DURATION(HOURS INTEGER, D1 VARCHAR2, D2 VARCHAR2) RETURN INTEGER
    IS
    BEGIN
         IF(.................)
            THEN RETURN 1;
            ELSE RETURN 0;
         END IF;
    END;
    Maybe you will have to GRANT EXECUTE ON DURATION TO MDSYS.
    Then include the following in the FILTER clause of the Rulebase "[owner].duration (24, TO_CHAR(d1),TO_CHAR(d2)) = 1"
    Hope this helps.

  • Driving processing with user defined rules

    Hi,
    I am looking for some examples of user defined rules for file processing.
    So I have a file loaded in to the application in a staging table, user will want to define rules to process the data and then an output will be created.
    Very vague question I know but has anyone got any examples where they did something similar which might help?
    Thanks.

    Roger,
    Here's one that I found that may not look very simple but it actually is if you just break it down piece by piece.
    create or replace FUNCTION              "SQL_IP_SUBNET" (
    p_octet1 in varchar2,
    p_octet2 in varchar2,
    p_octet3 in varchar2,
    p_octet4 in varchar2,
    p_slash in varchar2,
    p_status in varchar2)
    return varchar2
    as
    l_select varchar2(1000);
    l_octet1 varchar2(200);
    l_octet2 varchar2(200);
    l_octet3 varchar2(200);
    l_octet4 varchar2(200);
    l_slash varchar2(200);
    l_status varchar2(200);
    l_cidr varchar2(50);
    l_where varchar2(1000);
    l_order_by varchar2(100);
    l_sql varchar2(32767);
    begin
    l_select := q'!select id, get_ip_addr(octet1, octet2, octet3, octet4) ip_addr, slash, description, !';
    l_select := l_select || q'! octet1, octet2, octet3, octet4 from poc_subnets where 1=1!';
    if (p_octet1 is not null) then
    l_octet1 := q'! and octet1=!' || p_octet1;
    end if;
    if (p_octet2 is not null) then
    l_octet2 := q'! and octet2=!' || p_octet2;
    end if;
    if (p_octet3 is not null) then
    l_octet3 := q'! and octet3=!' || p_octet3;
    end if;
    if (p_octet4 is not null) then
    l_octet4 := q'! and octet4=!' || p_octet4;
    end if;
    if (p_slash is not null) then
    if substr(p_slash,1,1) != '/' and length(p_slash) = 2 then
      l_cidr := '/'||p_slash;
    else
      l_cidr := p_slash;
    end if;
    l_slash := q'! and slash='!' || l_cidr || q'!'!';
    end if;
    if length(l_octet1) > 0 then
    l_where := l_octet1;
    end if;
    if length(l_octet2) > 0 then
    l_where := l_where || l_octet2;
    end if;
    if length(l_octet3) > 0 then
    l_where := l_where || l_octet3;
    end if;
    if length(l_octet4) > 0 then
    l_where := l_where || l_octet4;
    end if;
    if length(l_slash) > 0 then
    l_where := l_where || l_slash;
    end if;
    if length(p_status) > 0 then
    case
      when p_status = 'YES' then
       l_status := q'! and assigned = 'YES'!';
      when p_status = 'NO' then
       l_status := q'! and assigned = 'NO'!';
      else
       l_status := null;
    end case;
    end if;
    if length(l_status) > 0 then
    l_where := l_where || l_status;
    end if;
    -- do the order by clause
    l_order_by := q'! order by octet1, octet2, octet3, octet4!';
    if length(l_where) > 0 then
    l_sql := l_select||l_where||l_order_by;
    else
    l_sql := l_select||l_order_by;
    end if;
    return l_sql;
    end;
    Just so you know, this is not necessarily the best way to do what you're asking. It does get the job done however.
    If you inspect the code it's basically just a bunch of string concatenation operations based on the presence or absence of each of the input parameters. Pretty much what you were asking about.
    Earl

  • User defined rule for missing triples

    Hi,
    i would like to know if there is a way to define a user defined rule for triples that are not contained in a model. With curly brace syntax it could be something like this:
    INSERT INTO mdsys.semr_validation_rb VALUES(
    'test_rule',
    '{?s ?p ?o. OPTIONAL{?s rdf:type ?t}}',
    't is null',
    '(?s <hasType> "false")',
    null);
    Unfortunately this is not working. Has anybody a suggestion to solve this problem with user defined rules?

    Hi,
    This is related to the following post.
    built-in primitives(noValue,remove) for user defined rules
    Note that there is something you need to pay a bit attention to.
    Say your original graph contains
    :John :fatherOf :Mary
    but not any type classification for :John (i.e. no match for {:John rdf:type ?t})
    Assume you add the following triple according to the rule you described
    (:John <hasType> "false")
    Now, what happens if :John is classified as a :Person (or :Parent, :Father),
    do you want to withdraw* :John <hasType> "false"?
    Thanks,
    Zhe

  • User-defined rules with SPIN (SPARQL CONSTRUCT)

    Hi,
    We are looking at SPIN as an alternative to define and execute user-defined rules. It is very expressive and in that point looks superior over Jena, SWRL and Oracle type of user-defined rules with IF (filter) -> THEN type of syntax. Although, SPIN is TopQuadrant's, it is entirely SPARQL, and Oracle supports SPARQL CONSTRUCT via Jena Adapter. TopBraid Composer provides and excellent tool support and rule editor for SPIN rules as well.
    There is no problem to execute SPIN rules via Jena Adapter, and I believe even via TopQuadrant's SIN API, which is TopQuadrants's SPARQL based infrence engine's API.
    My question is about whether Oracle has looked into supporting SPARQL CONSTUCT based user-defined rules in its native inference engine?
    Do you have a recommendation for how to use SPIN based user rules in combination with Oracle inference today?
    Thanks
    Jürgen

    Hi Jürgen,
    We are actually looking into a general mechanism that allows users to plug in their own queries/logic during inference. Thanks very much for bringing SPIN up. This general mechanism is very likely going to cover CONSTRUCT queries.
    To extend the existing inference engine using the existing Jena Adapter release, one possible way is as follows.
    1) Assume you have an ontology (model) A.
    2) Create an empty model B.
    3) run performInference on both A and B using OWLPrime.
    4) run SPARQL CONSTRUCT queries against A, B and inferred data
    5) store the query results (in the form of Jena models) back into model B.
    6) If the size of model B does not change, then stop. Otherwise, repeat 3)
    Note that model B is created to separate your original asserted data from inferred data.
    If you don't need such a separation, then don't create it.
    Thanks,
    Zhe Wu

  • Issue while deleting user defined field in oim 11.1.1.3

    All,
    Made a mistake while creating user defined field called "Profile for" (loing to OIM -> advanced -> configuration -> User configuration). We are trying to delete it. It appears to get deleted from user attributes screen. But when we run LDAP User Create and Update Reconciliation Task we get the following error below:
    oracle.iam.ldapsync.exception.ProcessLDAPReconDataException: oracle.iam.ldapsync.exception.ReconEventCreationException: Thor.API.Exceptions.tcAPIException: Profile for - LDAPUser object does not exists for resource object
    Is any thing else need to be deleted adn cleaned up?
    thanks in advance,
    Prasad.

    How do i check what resource object the recon task is running against. here is what i found so far.
    I cannot find LDAPUser resource object when i query Resource Management -> Resource Objects in design console. Same thing with Manage Resource and search (here i only find Xellerate User, Xellerate Organiztion, USERS_GTC, and Installation) in OIM advanced administration menu.
    The LDAP User Create and Update Reconciliation job itself has the following parameters (batch size, last change number, OIM employee type, OIM User organization name, OIM user type)
    I also decompiled LDAPUserChangesReconTask and it is looking for LDAPUser metadata from MDS directly.
    Prasad.

  • Want to add a prepopulated User defined field in create user form

    Hi,
    I have an entity adapter which will perform a pre-insert check on the user group of the user logged in to the oim.
    If the logged in user belongs to a group say "IT ADMIN", another validation check will be imposed on the create user action performed by him.
    If not from "IT ADMIN" group then create user action will be handled normally.
    Now the catch is, how would I determine the group name of the user logged in from the adapter code I have written?
    I decided to keep an User defined field "Created by" in the create user form which will be non-editable and auto-prepopulated with the group name of the logged in user. This way I will be able to map the variable field from the User definition drop down list while mapping the adapter variables.
    May you please guide me how I can achieve this?
    Would highly appreciate suggestion/inputs.

    Thanks for all your replies!
    However I am still in dark.
    I tried to retrieve the groupname using tcUSerOperationsIntf. But iit tries to retrieve the group name of the user getting created.
    Please note, the group name I want is not of the user yet to get created, but that of the user creating it i.e., the logged in user.
    My requirement is to have this created_by field in the create user form already prepopulated with the group name of the logged in user.
    So that I can put a check based on this field value in the netity adapter.
    If the group is IT ADMIN then proceed with the validation.
    Else no validation required.
    In short, I want to know,how can I auto-prepopulate a UDF in Create USer form?

  • User Defined Fields & Tables Problem

    After the upgrade to B1 2007 and converting our database to 2005 compatibility as per the upgrade directions, we’re having some weird issues with our user defined fields and tables. 
    •     Our user defined fields that used to be alpha-numeric when set up in B1 are now in the database as nvarchar(MAX), even after updating the fields in the Manage User Defined Fields screen.  B1 is obviously not setting the right field information as per its interface.
    •     We’re can no longer add records to user defined tables through the B1 interface, though we can add them fine through SQL Server or an ODBC interface.  The error we are getting is
    [Microsoft][SQL Native Client][SQL Server]Conversion failed when converting the nvarchar value '-3 @PASSWORDS' to data type int. (CINF)
    .  I don’t understand where this problem is coming from because there isn’t even a data field that is an integer, so I don’t know what it’s trying to convert.

    Derek,
    I would suggest you post this question to SAP Support by creating a message.  Also search for any notes on this from https://websmp201.sap-ag.de/notes
    Suda

  • Not able to edit user defined reports

    Hi,
    I've run into an issue recently with user defined reports. After some time, I'm not able to edit them. This only happens on some of them. Is there a way to work around this?
    Thanks.

    Hi,
    The platform is Windows XP Pro (32 bit) sp3, sql developer 1.5.5 (although I've seen this happen on earlier versions as well). After some time, some reports become un-editable. If I right click on the report and click edit, nothing happens. I've also tried exporting and re-importing the reports, but that doesn't seem to help.
    Also, I open it up via sqldeveloper.exe, but no console window come up.

  • User-Defined Fields Window

    Hi All,
    I have one issue with the User-Defined Fields window of the ACTIVITY form.
    I had added some user defined fields (UDF) to the Activities so that the User-Defined Fields are displaying in a separate window just near to the Activity window with Type (-651). All the UDFs are bound to the table, "OCLG".
    I want to initialize the values in the User defined fields controls with a text when the form is loading.
    I had tried to do this using
    oForm.Datasources.DBDatasources.Item("OCLG").SetValue("U_CUST",0,"MyValue");When I executed this statement, i am getting HResult error.
    Then I tried this by using UserDataSources.
    The same error repeats.
    But the code with .Specific.String = NewVal is working fine.
    Can you please explain the scenarios that we are able to do it using .Specifc.String. Is this a true method for doing this?
    if not
    please tell me How can we do this using Datasources (DBDatasources/ UserDataSources),?
    Please Help.
    Thank you in Advance
    Anoop

    Anoop,
    when you have created UDF in master item data, the textbox you can see on left side of form (separate form) is bounded already to this field. You cannot rebound it (its system form).
    When you want to change the value, you must use specific.string or specific.value for that textbox (as you wrote), but the calcualted value will be stored into master table (change of udf will set formmode to update mode). If you dont need to update formmode, set the formmode by code to normal mode.
    hope it helps
    Petr

  • Question about using subtypes (define a user-defined subtype w/ constrain)

    Hi guys,
    I am a newbie to PL/SQL.
    I do really appreciate it if you would spare a bit of your time to reply this post.
    According to the sub-section of Oracle® Database PL/SQL User's Guide and Reference 10g Release 2 (10.2) labeled Using Subtypes, I have found that the constrain of user-defined subtype can be overridden when declaring variables.
    Qestions:
    1. Why does PL/SQL allow constrain override of user-defined subtype? Or is it a unforeseen bug that exist in PL/SQL?
    2. Does it happen to Oracle subtypes such as INTEGER, CHARACTER,etc.?
    I have replicated this issue using the following PL/SQL code against Oracle9i 9.2.0.1, which produced no errors or exceptions whatsoever.
    TO ELIMINATE ANY CONFUSIONS, THE ISSUE IN QUESTION IS HIGHLIGHTED IN BOLD
    -- SAMPLE CODE TO REPLICATE THE ISSUE
    DECLARE
    -- a user-defined subtype(Xtype) is defined with a precision & scale constrain;
    SUBTYPE   Xtype   IS   NUMBER(1,0);
    -- however, Xtype is overridden when declaring variable 'var_num'.
    var_num    Xtype(2,0);
    BEGIN
    var_num := 10;
    DBMS_OUTPUT.PUT_LINE('var_num = ' || TO_CHAR(var_num));
    EXCEPTION
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('ERR: ' || SQLERRM);
    END;
    -- HERE IS THE OUTPUT
    SQL> @D:\LocalWork\dummy.sql
    var_num = 10
    Edited by: HappyJay on 2010/05/09 1:48

    After careful reading of your post, I found that your code should be rewritten as the following to prove the issue in question.
    SQL> edit
      1  DECLARE
      2   SUBTYPE flagtype IS PLS_INTEGER RANGE 0..1;
      3   x flagtype RANGE -2 .. 2; -- flagtype is overridden when declaring variable 'x'
      4  BEGIN
      5    FOR i IN -2 .. 2 LOOP
      6      BEGIN
      7        x := i;
      8        dbms_output.put_line('Success: ' || TO_CHAR(x));
      9      EXCEPTION
    10        WHEN others THEN
    11          dbms_output.put_line('Can not assign ' || TO_CHAR(i) || ' To Flagty
    pe');
    12      END;
    13    END LOOP;
    14* END;
    SQL> /
    Success: -2
    Success: -1
    Success: 0
    Success: 1
    Success: 2As you can see from the successful results, it still prevail my issue with user-defined subtype.
    Any other thoughts?

  • Illustrator CS5 + User Defined Symbols

    Hi,
    Could anyone please tell me is the saved user defined symbols suppose to appear in "../Applications/Adobe Illustrator CS5/Presets/en_GB/Symbols" folder? I do not see it appears in that folder however I managed to load it from "Open Symbol Library >> User Defined" when I am in Adobe Illustrator.
    That created another issue as I cannot delete the user defined symbol if I want to.
    ** I am also having the same issue for the user defined "Workspace" as well, it does not appears in "../Applications/Adobe Illustrator CS5/Presets/en_GB/Workspaces" folder.
    Thanks and regards,
    Wayne.

    The fact that To edit my User-Generated Symbols library requires ferreting about six layers deep in the system preferences is really really very broken.
    I should add, that the Illustrator font choice menus are still lost somewhere in the early 90's... Someone in management at Adobe should try a top-down redesign of these apps with a new group of people who start with the idea that anything is possible...preferably that don't care one bit how it used to work... (2 cents out of context)

  • Issue with xsd Data type mapping for collection of user defined data type

    Hi,
    I am facing a issue with wsdl for xsd mapping for collection of user defined data type.
    Here is the code snippet.
    sample.java
    @WebMethod
    public QueryPageOutput AccountQue(QueryPageInput qpInput)
    public class QueryPageInput implements Serializable, Cloneable
    protected Account_IO fMessage = null;
    public class QueryPageOutput implements Serializable, Cloneable
    protected Account_IO fMessage = null;
    public class Account_IO implements Serializable, Cloneable {
    protected ArrayList <AccountIC> fintObjInst = null;
    public ArrayList<AccountIC>getfintObjInst()
    return (ArrayList<AccountIC>)fintObjInst.clone();
    public void setfintObjInst(AccountIC val)
    fintObjInst = new ArrayList<AccountIC>();
    fintObjInst.add(val);
    Public class AccountIC
    protected String Name;
    protected String Desc;
    public String getName()
    return Name;
    public void setName(String name)
    Name = name;
    For the sample.java code, the wsdl generated is as below:
    <?xml version="1.0" encoding="UTF-8" ?>
    <wsdl:definitions
    name="SimpleService"
    targetNamespace="http://example.org"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://example.org"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    >
    <wsdl:types>
    <xs:schema version="1.0" targetNamespace="http://examples.org" xmlns:ns1="http://example.org/types"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="http://example.org/types"/>
    <xs:element name="AccountWSService" type="ns1:accountEMRIO"/>
    </xs:schema>
    <xs:schema version="1.0" targetNamespace="http://example.org/types" xmlns:ns1="http://examples.org"
    xmlns:tns="http://example.org/types" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="http://examples.org"/>
    <xs:complexType name="queryPageOutput">
    <xs:sequence>
    <xs:element name="fSiebelMessage" type="tns:accountEMRIO" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="accountEMRIO">
    <xs:sequence>
    <xs:element name="fIntObjectFormat" type="xs:string" minOccurs="0"/>
    <xs:element name="fMessageType" type="xs:string" minOccurs="0"/>
    <xs:element name="fMessageId" type="xs:string" minOccurs="0"/>
    <xs:element name="fIntObjectName" type="xs:string" minOccurs="0"/>
    <xs:element name="fOutputIntObjectName" type="xs:string" minOccurs="0"/>
    <xs:element name="fintObjInst" type="xs:anyType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="queryPageInput">
    <xs:sequence>
    <xs:element name="fPageSize" type="xs:string" minOccurs="0"/>
    <xs:element name="fSiebelMessage" type="tns:accountEMRIO" minOccurs="0"/>
    <xs:element name="fStartRowNum" type="xs:string" minOccurs="0"/>
    <xs:element name="fViewMode" type="xs:string" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.org"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://example.org" xmlns:ns1="http://example.org/types">
    <import namespace="http://example.org/types"/>
    <xsd:complexType name="AccountQue">
    <xsd:sequence>
    <xsd:element name="arg0" type="ns1:queryPageInput"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="AccountQue" type="tns:AccountQue"/>
    <xsd:complexType name="AccountQueResponse">
    <xsd:sequence>
    <xsd:element name="return" type="ns1:queryPageOutput"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="AccountQueResponse" type="tns:AccountQueResponse"/>
    </schema>
    </wsdl:types>
    <wsdl:message name="AccountQueInput">
    <wsdl:part name="parameters" element="tns:AccountQue"/>
    </wsdl:message>
    <wsdl:message name="AccountQueOutput">
    <wsdl:part name="parameters" element="tns:AccountQueResponse"/>
    </wsdl:message>
    <wsdl:portType name="SimpleService">
    <wsdl:operation name="AccountQue">
    <wsdl:input message="tns:AccountQueInput" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"
    ns1:Action=""/>
    <wsdl:output message="tns:AccountQueOutput" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"
    ns1:Action=""/>
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="SimpleServiceSoapHttp" type="tns:SimpleService">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="AccountQue">
    <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="SimpleService">
    <wsdl:port name="SimpleServicePort" binding="tns:SimpleServiceSoapHttp">
    <soap:address location="http://localhost:7101/WS-Project1-context-root/SimpleServicePort"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    In the above wsdl the collection of fintObjInst if of type xs:anytype. From the wsdl, I do not see the xsd mapping for AccountIC which includes Name and Desc. Due to which, when invoking the web service from a different client like c#(by creating proxy business service), I am unable to set the parameters for AccountIC. I am using JAX-WS stack and WLS 10.3. I have already looked at blog http://weblogs.java.net/blog/kohlert/archive/2006/10/jaxws_and_type.html but unable to solve this issue. However, at run time using a tool like SoapUI, when this wsdl is imported, I am able to see all the params related to AccountIC class.
    Can some one help me with this.
    Thanks,
    Sudha.

    Did you try adding the the XmlSeeAlso annotation to the webservice
    @XmlSeeAlso({<package.name>.AccountIC.class})
    This will add the schema for the data type (AccountIC) to the WSDL.
    Hope this helps.
    -Ajay

  • DTW user-defined object issues

    Dear all,
    I've tried to import a user-defined object with a template through DTW.
    However, I got an error message "To generate this document, first define the numbering series in the Administration moduleApplication-defined or object-defined error.
    Any ideas?
    Pls help.
    Thanks

    Hi,
    It is a limitation of the UDO that it is not possible to enter new values via DI or DTW. 
    There is a way to automatically fill your object's user tables. Please see the Note [804685|https://websmp130.sap-ag.de/sap(bD1odSZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=804685] for more details regarding the issue description and the workaround available.                               
    hope it helps,
    Regards,
    Ladislav
    SAP Business One Forum Team

Maybe you are looking for