Two different Autodiscover.xml?

Hi,
One weird thing is happening here on my environment.
I have two users on a different site and a different forest/domain with a trust relationship which have mailboxes here on our Exchange environment. Two users from there have different autodiscover responses (tried on the same PC with both accounts, two different
autodiscover responses).
This is the correct autodiscover.XML :
<?xml version="1.0" encoding="utf-8"?>
<Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">
  <Response xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a">
    <User>
      <DisplayName>Pepito Grillo</DisplayName>
      <LegacyDN>/o=Pepito/ou=Exchange Administrative Group (XXXXX)/cn=Recipients/cn=pepito</LegacyDN>
      <AutoDiscoverSMTPAddress>[email protected]</AutoDiscoverSMTAddress>
      <DeploymentId>208d08d6-7589-4751-9437-cfd53d939454</DeploymentId>
    </User>
    <Account>
      <AccountType>email</AccountType>
      <Action>settings</Action>
      <Protocol>
        <Type>EXCH</Type>
        <Server>CAS_CONTOSO.CORP</Server>
        <ServerDN>/o=PEPITO/ou=Exchange Administrative Group (XXX)/cn=Configuration/cn=Servers/cn=CAS_CONTOSO.CORP</ServerDN>
       <ServerVersion>7383807B</ServerVersion>
        <MdbDN>/o=Pepito/ou=Exchange Administrative Group (XXX)/cn=Configuration/cn=Servers/cn=CAS_CONTOSO.CORP/cn=Microsoft Private MDB</MdbDN>
        <PublicFolderServer>CAS402.CONTOSO.corp</PublicFolderServer>
        <AD>AD009.CONTOSO.corp</AD>
        <ASUrl>https://mail.CONTOSO.corp/EWS/Exchange.asmx</ASUrl>
        <EwsUrl>https://mail.CONTOSO.corp/EWS/Exchange.asmx</EwsUrl>
        <SharingUrl>https://mail.CONTOSO.corp/EWS/Exchange.asmx</SharingUrl>
        <EcpUrl>https://mail.CONTOSO.corp/ecp/</EcpUrl>
        <EcpUrl-um>?p=customize/voicemail.aspx&amp;exsvurl=1</EcpUrl-um>
        <EcpUrl-aggr>?p=personalsettings/EmailSubscriptions.slab&amp;exsvurl=1</EcpUrl-aggr>
        <EcpUrl-mt>PersonalSettings/DeliveryReport.aspx?exsvurl=1&amp;IsOWA=&lt;IsOWA&gt;&amp;MsgID=&lt;MsgID&gt;&amp;Mbx=&lt;Mbx&gt;</EcpUrl-mt>
        <EcpUrl-ret>?p=organize/retentionpolicytags.slab&amp;exsvurl=1</EcpUrl-ret>
        <EcpUrl-sms>?p=sms/textmessaging.slab&amp;exsvurl=1</EcpUrl-sms>
        <OOFUrl>https://mail.CONTOSO.corp/EWS/Exchange.asmx</OOFUrl>
        <UMUrl>https://mail.CONTOSO.corp/EWS/UM2007Legacy.asmx</UMUrl>
        <OABUrl>https://mail.CONTOSO.corp/OAB/5a381d70-53df-4152-8aff-fb70d5628f3c/</OABUrl>
      </Protocol>
      <Protocol>
        <Type>WEB</Type>
        <Internal>
          <OWAUrl AuthenticationMethod="Basic, Ntlm, WindowsIntegrated">https://mail.CONTOSO.corp/owa/</OWAUrl>
          <Protocol>
            <Type>EXCH</Type>
            <ASUrl>https://mail.CONTOSO.corp/EWS/Exchange.asmx</ASUrl>
          </Protocol>
        </Internal>
        <External>
          <OWAUrl AuthenticationMethod="Fba">https://mail.CONTOSO.com/owa/</OWAUrl>
        </External>
      </Protocol>
    </Account>
  </Response>
</Autodiscover>
The one which is taking a wrong answer add this to the previous XML file :
      <Protocol>
        <Type>EXPR</Type>
        <Server>mail.CONTOSO.com</Server>
        <SSL>On</SSL>
        <AuthPackage>Basic</AuthPackage>
        <ASUrl>https://mail.CONTOSO.com/EWS/Exchange.asmx</ASUrl>
        <EwsUrl>https://mail.CONTOSO.com/EWS/Exchange.asmx</EwsUrl>
        <SharingUrl>https://mail.CONTOSO.com/EWS/Exchange.asmx</SharingUrl>
        <EcpUrl>https://mail.CONTOSO.com/ecp/</EcpUrl>
        <EcpUrl-um>?p=customize/voicemail.aspx&amp;exsvurl=1</EcpUrl-um>
        <EcpUrl-aggr>?p=personalsettings/EmailSubscriptions.slab&amp;exsvurl=1</EcpUrl-aggr>
        <EcpUrl-mt>PersonalSettings/DeliveryReport.aspx?exsvurl=1&amp;IsOWA=&lt;IsOWA&gt;&amp;MsgID=&lt;MsgID&gt;&amp;Mbx=&lt;Mbx&gt;</EcpUrl-mt>
        <EcpUrl-ret>?p=organize/retentionpolicytags.slab&amp;exsvurl=1</EcpUrl-ret>
        <EcpUrl-sms>?p=sms/textmessaging.slab&amp;exsvurl=1</EcpUrl-sms>
        <OOFUrl>https://mail.CONTOSO.com/EWS/Exchange.asmx</OOFUrl>
        <UMUrl>https://mail.CONTOSO.com/EWS/UM2007Legacy.asmx</UMUrl>
        <OABUrl>https://mail.CONTOSO.com/OAB/5a381d70-53df-4152-8aff-fb70d5628f3c/</OABUrl>
        <CertPrincipalName>none</CertPrincipalName>
      </Protocol>
Any ideas?
Exchange servers 2010 SP3 Rollup 4
Outlook 2010 as the clients
Which is bothering me is why two users of the same environment is getting two different responses.
Cheers guys and thanks in advance,

Hi,
Please notice the Outlook Provider type in the Autodiscover.xml: EXCH,
EXPR and WEB
The EXPR setting references the Exchange HTTP protocol that is used by
Outlook Anywhere. This setting includes the external URLs for the Exchange services that you have enabled, which are used by clients that access Exchange from the Internet.
The EXCH setting references the Exchange RPC protocol that is used internally. This setting includes port settings and the internal URLs for the Exchange services that you have enabled.
These two accounts which connected to Exchange server using Autodiscover service are connected from internal Exchange environment (EXCH) and external internet environment (EXPR) respectively. It is the expected behavior. For more information
about the Autodiscover Service and Outlook Providers, please refer to:
http://blogs.technet.com/b/exchange/archive/2008/09/26/3406344.aspx
Regards,
Winnie Liang
TechNet Community Support

Similar Messages

  • How to set two different welcome-file to different servlets in web.xml

    Hi friends,
    Can some one help with web.xml file
    I have to different servlets in applications.
    I want to set two different welcome files for my two different
    servlets in web.xml
    Please, can some one give me sample code to achieve this.
    Here web.xml code:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app PUBLIC
    "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>     
         <servlet>
              <servlet-name>reports</servlet-name>
              <servlet-class>com.caremark.ivr.servlet.IvrReportsServlet</servlet-class>
         </servlet>
         <servlet-mapping>
              <servlet-name>reports</servlet-name>
              <url-pattern>/reports</url-pattern>
         </servlet-mapping>
         <session-config>
              <session-timeout>30</session-timeout>
         </session-config>
         <welcome-file-list>
              <welcome-file>reportsindex.jsp</welcome-file>
         </welcome-file-list>
         <servlet>
              <servlet-name>calldetails</servlet-name>
              <servlet-class>com.caremark.ivr.servlet.IvrCallDetailsServlet</servlet-class>
         </servlet>
         <servlet-mapping>
              <servlet-name>calldetails</servlet-name>
              <url-pattern>/calldetails</url-pattern>
         </servlet-mapping>
    <welcome-file-list>
              <welcome-file>calldetailsindex.jsp</welcome-file>
         </welcome-file-list>
    </web-app>
    I need this fix immediately. Your help will be really appreciated. Thanks in advance.

    First of all, my understanding is that you need to have a Servlet 2.4 complaint server to do this...Given that, you're supposed to be able to simply specify the Name of the servlet as the welcome-file to get it to work. For example:
    Your servlet section:
    <servlet>
      <servlet-name>Controller</servlet-name>
      <servlet-class>com.company.ControllerServlet</servlet-class>
    </servlet>Now you would add the following to your welcome file list:
    <welcome-file-list>
      <welcome-file>Controller</welcome-file>
    </welcome-file-list>Note that you use the servlet-name value from the servlet definition, NOT the url-mapping from the servlet-mapping section.
    Please note that I cannot verify this as I am running a 2.3 server at home. When I get to work Friday I can test on a 2.4 machine. However this shouldn't take you more than a minute to test.
    Note that I did try this on the 2.3 compliant server and it did NOT work (as I expected)...
    HTH.

  • XML mapped to IDoc routed to two different receivers

    Hello gurus,
    I have an XML document coming into XI which needs to be mapped into an IDOC, then sent to two different systems (not to both of them) based on a value in the XML (the value is actually the SAP partner ID).
    Can this be done in BPM? Perhaps using Enhanced Receivers would be a viable solution for this?
    Thank you!

    have u looked into XPaths ?
    Ref:
    /people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination
    /people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers
    Here based on a field in your message you can route the message to a receiver.
    Also ref: /people/venkataramanan.parameswaran/blog/2006/03/17/illustration-of-enhanced-receiver-determination--sp16 for enhanced recv. det.

  • How can I edit the way autodiscover.xml behaves in SBS 2008 and 2011?

    I have autodiscover working correctly on a few SBS 2008 and SBS 2011 servers. But, its doing its usual misbehaving. When setting up a new Outlook profile, the user enters their email address and password.  Autodiscover is successful in creating all
    the account settings, but at the end of the wizard a username and password window pops up with the users full email address incorrectly filled in as the username, which is why it didn't work.
    This has always been so annoying about SBS.  The user then has to be told to delete their email address in the username field, then fill in "domain\username" instead.  Only then is the authentication successful.
    I've read lots about people adding the external domain UPN Suffix to ADD&T, then manually changing ever users login to domain.com instead of domain.local.   Then you have to mess with the owa authentication settings in exchange to accept the
    UPN.   Its all too ridiculous.  There must be a simpler way.
    I have read about how you can control how the autodiscover.xml behaves, and there are examples of how to do it in this document:
    https://docs.google.com/viewer?a=v&q=cache:0jap1FNKgV0J:https://support.quest.com/Shared/Images/SOL51188_Outlook%2520Automatic%2520Account%2520Configuration.doc+&hl=pl&gl=pl&pid=bl&srcid=ADGEESjizUeFf-JYaM7ZdfIgUCKMMXtcCl0Y3pknFbuwd64GNHIEP1K8a_mpg2YIEisP6sz5DzbtVtdW4Pc42PE0Kjd6bz-3vXz0iaQm7FKi0AnwgvFG_41ZAkBLWynaJtf8s8xyi_d2&sig=AHIEtbSie1mEHTn8el4DPquNxrpovwknUQ
    The document above shows the settings we need to change.  It looks like we can add the local domain using DomainName into the autodiscover.xml and this will stop autodiscover reporting that the full email address is required.  So we
    should be able to get autodiscover to populate the username pop-up with with "domain\user" automatically. 
    OK, so my question is, how on earth do I edit these settings in SBS 2011?  I can't find any articles that talk about how to edit autodiscover. 
    If I could just edit this one setting (that Microsoft should have correctly configured in the first place) autodiscover will work perfectly for all existing users and all future users, without having to do anything.

    Just to straighten out a few things;
    1) This is NOT a bug, rather by design. Not every active directory has an exchange server in place, and MS is assuming you don't want to give your internal domain name out to people (which is why it doesn't default to domain\username)
    2) Going on what I said in 1), this is NOT SBS specific this is the same way with every Active Directory/Exchange install, keep in mind Microsoft did NOT specially design the software for SBS, they just bundled it into a supported configuration in a neat
    little package -since the Exchange server we run on SBS is the same Exchange server powering hundreds of hosted email providers -it makes sense why autodiscover doesn't provide the domain\username (imagine what a mess that would be!)
    3) I understand it's a little bit time consuming but it can actually be done for all users in a matter of seconds, select all users, right click and go to Properties, you can then choose the UPN Suffix for all users. When a new user gets created one of the
    settings in the wizard is the UPN suffix and is easily changeable as long as you notate for the person creating the user to do it. (The problem here is if you're using the SBS Console instead of AD to setup the User in which case that's just an oversight
    in design not a bug in the programming)
    4) You can most certainly have a powershell script that changes the UPN suffix from A to B, let me know if you're interested I'll dig one up for you. That can be run on a scheduled task and will solve the remaining issues you have :)
    I do see you mentioned it in number 3, I must have missed since I didn't re-read the OP before posting the article, however I just tested on several SBS 2011 machines and OWA authentication settings don't have to be changed at all, this worked immediately
    for Outlook Anywhere and Outlook Web Access in my lab and two different customer production systems.
    -GreenlightTech

  • How to use two different ojdbc14.jar for two web application.

    Hi,
    I have two web application running in same tomcat, I need to use the two different ojdbc14.jar for two application, now both are taking the jars from tomcat common/lib directory, I tried copying the new ojdbc14.jar in web-inf/lib folder of one application, but it is not working.
    Could you please let me know whether this will take the jar from tomcat by befault or from web-inf, and a solution how to proceed with this.
    Thanks in advance.

    Yes, I tried removing the jars from common/lib, but as the connection string is mentioned inside the server.xml it is showing db connection error while trying to connect to the database

  • How to work with two different backend with same MI Server and war file

    Hi All,
    We have a requirement that we need to work with one Middleware for two backends. For that we had to copy MAM30 sync bo's to zsync BO'S with the name ZMAM30. Now both sync BO'S will point to different backends.
    I have a standard war file which was working well with standards sync bo's. Now to work on zsync bo's what all the changes do I have to do in the standard war file(code).
    As per my knowledge we have a file called "syncbonamelist.properties" which maps the sync bo keys. Also there is another file called "mapping.xml" file which maps the package name with BO name.
    Can any body please tell me, are there any other files needed to be change like "meRepMeta.xml", other than any existing code like java objects are also needed to be changed.
    Your help in this regard is highly appreciable.
    Regards
    Murthy

    Hi Murthy,
    I try to get my head around the question:WHY?
    The reason for my question is, that this influences the answer!
    Because of several reasons it is NOT possible to handle MAM and zMAM Bos at the SAME TIME on the SAME MACHINE in the way you describe it - and it makes no sence to do so at all! But anyway......
    Lets say you have two backends, cause you have two different areas of the company. But both want to use the same MI server - but the client should be independend.
    So you need two apps. One uses the MAM BOs and the second one uses the zMAMBos.
    If this is the case, dev should be straight forward I think and you solution should work already......... so I ask myself, what is the problem you have? Do you get an error?
    - First create a new MEREPMETA-XML with just the zMAMBOs instead of the MAM BOs.
    - Change the two files you mentioned above.
    This should be all then.
    If you have a look into the implementation for MAM001Impl for example, there you find a line like:
         private static final String SYNC_BO_NAME
              = ResourceBundle.getBundle("com.sap.mbs.mam.bo.impl.syncbonamelist").getString("MAM30_040");
    This takes the name from the properties file and maps it to the real BO. So changing the name in the property file to
    MAM30_040 = zMAM30_040
    will result in MAM uses the zMAM BOs.
    Be aware: after you place the WAR file in the WEBAPPS folder and do a restart to deploy the file, you need to do a data reset to make sure the new MEREPMETA.XML is read.
    AND: two apps! one for MAM and one for zMAM BOs. One APP is not possible! Cause if you have something like that in the properties file:
    MAM30_040 = MAM30_040
    MAM30_040 = zMAM30_040
    if will only take the first reading.
    But I think this is clear to you anyway
    Regards,
    Oliver

  • How to define namespace with one XSD using in two different DB-Locations ?

    I'm not clear,How to define namespace, targetnamespace, schemaLocation or NoNamespaceSchemaLocation
    when using one common schema.xsd-definition
    in two different database-locations for exchange xml-documents?
    when insert xml-document I've got an error ORA-30937
    do you have an good exsample ?
    thanks
    Norbert
    schema :
    <xs:schema
    xmlns="http://sourcehost.com/namespace"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:oraxdb="http://xmlns.oracle.com/xdb"
    targetNamespace="http://sourcehost.com/namespace"
    xml-document :
    xmlns="http://Sourcehost.com/namespace"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:SchemaLocation="http://sourcehost.com/namespace http://desthost:8080/sys/schemas/PUBLIC/ADRESSEN.XSD">
    SQL> insert into ADRESSEN values
    (XMLType
    (bfilename ( 'XMLIMPORT_DIR', 'adressen.xml')
    , 0 )
    --> error :
    ORA-30937: No Schemadefinition for "SchemaLocation" (Namespace "http://www.w3.org/2001/XMLSchema-instance") in übergeordnetem Knoten "/ADRESSEN"

    Norbert
    The schema location used to register the XML schema with XML DB does not need to be a valid URL for accessing the XML Schema
    I can use the same URL , for instance
    http://xmlns.example.scom/xsd/myXMLSchema.xsd
    on machines dbserver1, and dbserver2. The only reason some people choose to use the hostname / portnumber convention is that this makes it possible to validate the XML Instance documents against the copy of the XML schema stored in the XML DB repository using an external tool like XMLSpy without have to add entries to XMLSpy's OASIS catalog files.
    I am concerned about the message you are getting. That's not correct AFAICT but I'd need to see the complete XML Schema and Instance to be sure.

  • One instance for two different application

    Hello,
    I have to solve following problem..
    need have one instance of object for two different application..fist is standard SE application and second is EE (web)..
    SE application is a server..listen on and accepting connection from mobile phone..and EE application need to show list of connected devices and should say to SE application that new device was connected..
    I would like to do this without database..only server and web app..
    I have thought about RMI..but hope there is more simple solution..
    Thanks a lot for your ideas.
    Dmitrij

    I would like to do this without database..only server and web app..You have your reasons for wanting this to be the case. If you are sure you don't want a DB, then pass the state of the object between the two ends using XML as the transport form. As someone said, you can use JMS or you can write an HTTP POST or probably other transport mechanisms other people will suggest to actually get it over the wire from one side to the other.
    As to your question of how to sync state, just make the object you're sharing final after it's been created (on the side that creates it) and make the reference that receives it and holds it final also, after you've reconstructed it from the XML you received.

  • Can I use two different database with DBSystemLoginModule?

    Finally I can login with Database user id by DBSystemLoginModule on Embedded oc4j server.
    But I confused between [b]jazn-data.xml and system-jazn-data.xml.
    Which xml do I have to edit for jdbcUrl and jdbcDriver?
    Now I would like to use two different database(such as only sid is different).
    In this case I want to show specific database name as realm name.
    What should I do?
    When I use DBSystemLoginModule, I edit JdbcUrl in system-jazn-data.xml.
    So can I pass the parameter for sid programmatically?
    And also I tried to run my application with other database with DBSystemLoginModule on Embedded oc4j server.
    I changed few things(jdbcUrl at system-jazn-data.xml,jazn-data.xml in embedded-oc4j-server/config and database connection for BusinessComponents at Project Properties of Model/ViewController.
    But I got some error.
    Did I miss something?
    ----< my error messgae >------
    500 Internal Server Error
    JBO-30003: The application pool (customer.model.datamodel.CMAppModuleLocal) failed to checkout an application module due to the following exception:oracle.jbo.JboException: JBO-29000: Unexpected exception caught: java.lang.NullPointerException, msg=null     at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2002)     Message was edited by:
    Message was edited by:
    sdcsdc

    I think I understand now, you are modifing the custom login modules configuration within the system-jazn-data.xml file. This is a bit dangerous! Didn't you register the login module in your orion-application.xml? For example, this is the way I do it:
    <web-module id="customProv-web" path="customProv-web.war" />
    <persistence path="persistence" />
    <!--data-sources path="./data-sources.xml"/-->
    <security-role-mapping name="sr_developer">
    <group name="developers" />
    </security-role-mapping>
    <security-role-mapping name="sr_manager">
    <group name="managers" />
    </security-role-mapping>
    <jazn provider="XML">
    <property name="custom.loginmodule.provider" value="true"/>
    <property name="role.mapping.dynamic" value="true"/>
    <property name="role.compare.ignorecase" value="true"/>
    </jazn>
    <!-- Configuring a Login Module in an Application EAR file. -->
    <jazn-loginconfig>
    <application>
    <name>customProv</name>
    <login-modules>
    <login-module>
    <class>oracle.security.jazn.login.module.db.DBTableOraDataSourceLoginModule</class>
    <control-flag>required</control-flag>
    <options>
    <option>
    <name>data_source_name</name>
    <value>jdbc/OracleDS2</value>
    </option>
    <option>
    <name>roles_fk_column</name>
    <value>userName</value>
    </option>
    <option>
    <name>table</name>
    <value>userinfo</value>
    </option>
    <option>
    <name>groupMembershipTableName</name>
    <value>groupinfo</value>
    </option>
    <option>
    <name>groupMembershipGroupFieldName</name>
    <value>role</value>
    </option>
    <option>
    <name>usernameField</name>
    <value>userName</value>
    </option>
    <option>
    <name>user_pk_column</name>
    <value>username</value>
    </option>
    <option>
    <name>passwordField</name>
    <value>passWord</value>
    </option>
    </options>
    </login-module>
    </login-modules>
    </application>
    </jazn-loginconfig>
    <log>
    <file path="application.log" />
    </log>
    <namespace-access>
    <read-access>
    <namespace-resource root="">
    <security-role-mapping name="<jndi-user-role>">
    <group name="administrators" />
    </security-role-mapping>
    </namespace-resource>
    </read-access>
    <write-access>
    <namespace-resource root="">
    <security-role-mapping name="<jndi-user-role>">
    <group name="administrators" />
    </security-role-mapping>
    </namespace-resource>
    </write-access>
    </namespace-access>
    </orion-application>

  • How can I select events from two different channels?

    Hi everybody, I have another question! :)
    When processing events in config.xml, using a CQL sentence, Eclipse compiler doesn't allow me to select more than one event.
    I paste here my app.context.xml and my config.xml:
    app.context.xml:
    <wlevs:event-type-repository>
    <wlevs:event-type type-name="HorseEvent">
    <wlevs:class>com.bea.wlevs.event.example.sevenhorses.HorseEvent</wlevs:class>
    </wlevs:event-type>
    <wlevs:event-type type-name="GunmanEvent">
    <wlevs:class>com.bea.wlevs.event.example.sevenhorses.GunmanEvent</wlevs:class>
    </wlevs:event-type>
    </wlevs:event-type-repository>
    <!-- Adapter can be created from a local class, without having to go through a adapter factory -->
    <wlevs:adapter id="sevenhorsesAdapter" class="com.bea.wlevs.adapter.example.sevenhorses.SevenHorsesAdapter" >
    <wlevs:instance-property name="messageHorse" value="I am the horse number: "/>
    <wlevs:instance-property name="messageGunman" value="I am the gunman number: "/>
    </wlevs:adapter>
    <wlevs:channel id="horseInputChannel" event-type="HorseEvent" >
    <wlevs:listener ref="sevenhorsesProcessor"/>
    <wlevs:source ref="sevenhorsesAdapter"/>
    </wlevs:channel>
    <wlevs:channel id="gunmanInputChannel" event-type="GunmanEvent" >
    <wlevs:listener ref="sevenhorsesProcessor"/>
    <wlevs:source ref="sevenhorsesAdapter"/>
    </wlevs:channel>
    <!-- The default processor for OCEP 11.0.0.0 is CQL -->
    <wlevs:processor id="sevenhorsesProcessor" />
    <wlevs:channel id="horseOutputChannel" event-type="HorseEvent" advertise="true">
    <wlevs:listener>
    <bean class="com.bea.wlevs.example.sevenhorses.SevenHorsesBean"/>
    </wlevs:listener>
    <wlevs:source ref="sevenhorsesProcessor"/>
    </wlevs:channel>
    <wlevs:channel id="gunmanOutputChannel" event-type="GunmanEvent" advertise="true">
    <wlevs:listener>
    <bean class="com.bea.wlevs.example.sevenhorses.SevenHorsesBean"/>
    </wlevs:listener>
    <wlevs:source ref="sevenhorsesProcessor"/>
    </wlevs:channel>
    And here you are the two config.xml, I have tried two different ones and none of them runs.
    The first one is:
    <?xml version="1.0" encoding="UTF-8"?>
    <n1:config xmlns:n1="http://www.bea.com/ns/wlevs/config/application">
    <processor>
    <name>sevenhorsesProcessor</name>
    <rules>
    <query id="horsesRule">
    <![CDATA[ select * from horseInputChannel
            ]]>
    </query>
    <query id="gunmansRule">
    <![CDATA[ select * from gunmanInputChannel
            ]]>
    </query>
    </rules>
    </processor>
    </n1:config>
    As you can see, I use here TWO CQL sentences from the two channels that are defined in app.context.xml.
    The other one is:
    <?xml version="1.0" encoding="UTF-8"?>
    <n1:config xmlns:n1="http://www.bea.com/ns/wlevs/config/application">
    <processor>
    <name>sevenhorsesProcessor</name>
    <rules>
    <query id="horsesRule">
    <![CDATA[ select * from horseInputChannel, gunmanInputChannel
            ]]>
    </query>
    </rules>
    </processor>
    </n1:config>
    I use here only ONE CQL sentence in which I try to get events from the two channels that are defined.
    None of them works.
    Can anybody help me?
    Thank you!

    Hi! Here you are the files you required:
    SevenHorses.context.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:osgi="http://www.springframework.org/schema/osgi"
    xmlns:wlevs="http://www.bea.com/ns/wlevs/spring"
    xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/osgi
    http://www.springframework.org/schema/osgi/spring-osgi.xsd
    http://www.bea.com/ns/wlevs/spring
    http://www.bea.com/ns/wlevs/spring/spring-wlevs-v11_1_1_3.xsd">
    <wlevs:event-type-repository>
    <wlevs:event-type type-name="HorseEvent">
    <wlevs:class>com.bea.wlevs.event.example.sevenhorses.HorseEvent</wlevs:class>
    <wlevs:properties>
    <wlevs:property name="messageHorse" type="java.lang.String"></wlevs:property>
    </wlevs:properties>
    </wlevs:event-type>
    <wlevs:event-type type-name="GunmanEvent">
    <wlevs:class>com.bea.wlevs.event.example.sevenhorses.GunmanEvent</wlevs:class>
    <wlevs:properties>
    <wlevs:property name="messageGunman" type="java.lang.String"></wlevs:property>
    </wlevs:properties>
    </wlevs:event-type>
    </wlevs:event-type-repository>
    <!-- Adapter can be created from a local class, without having to go through a adapter factory -->
    <wlevs:adapter id="sevenhorsesAdapter" class="com.bea.wlevs.adapter.example.sevenhorses.SevenHorsesAdapter" >
    <wlevs:instance-property name="messageHorse" value="I am the horse number: "/>
    <wlevs:instance-property name="messageGunman" value="I am the gunman number: "/>
    </wlevs:adapter>
    <wlevs:channel id="horsesInputChannel" event-type="HorseEvent">
    <wlevs:listener ref="sevenhorsesProcessor"/>
    <wlevs:source ref="sevenhorsesAdapter"/>
    </wlevs:channel>
    <wlevs:channel id="horsesInputChannel2" event-type="HorseEvent">
    <wlevs:listener ref="sevenhorsesProcessor"/>
    <wlevs:source ref="sevenhorsesAdapter"/>
    </wlevs:channel>
    <!-- The default processor for OCEP 11.0.0.0 is CQL -->
    <wlevs:processor id="sevenhorsesProcessor" />
    <wlevs:channel id="horseOutputChannel" event-type="HorseEvent" advertise="true">
    <wlevs:listener>
    <bean class="com.bea.wlevs.example.sevenhorses.SevenHorsesBean"/>
    </wlevs:listener>
    <wlevs:source ref="sevenhorsesProcessor"/>
    </wlevs:channel>
    </beans>
    config.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <n1:config xmlns:n1="http://www.bea.com/ns/wlevs/config/application">
    <processor>
    <name>sevenhorsesProcessor</name>
    <rules>
    <query id="horsesRule">
    <![CDATA[ select message from horsesInputChannel2 where message like "(gunman)"
            ]]>
    </query>
    </rules>
    </processor>
    </n1:config>
    Thanks!

  • How to re-use one SOAP Sender Channel for two different messages?

    Hi!
    I have an XI Proxy to SOAP Sync Scenario. 5 messages uses only 2 channels - cc_XI_Sender and cc_SOAP_Receiver. All messages comes from one Sender Channel and goes to one Receiver channel, and it works fine.
    When I make the same for SOAP to XI Proxy Sync Scenario, I've got a problem. For example I have 2 different messages (mi_so_MSG_ONE and mi_so_MSG_TWO), so it works, if I had a two different sender channels (cc_SOAP_R1 and cc_SOAP_R2).
    If I set the same Sender Channel in both Sender Agreements (cc_SOAP_R1), only one message (mi_so_MSG_ONE) goes without errors. When I send a second message (mi_so_MSG_TWO), in SXMB_MONI this message comes from Business System (BS_TEST) as message type one (mi_so_MSG_ONE), and then in stage of transformation in Interface Determination goes to message mapping program for other kind of messages (MM_MSG_ONE_to_XI_PROXY). And then - error in message mapping.
    I try many URLs for both messages:
    1) http://host:port/XISOAPAdapter/MessageServlet?channel=:BS_TEST:cc_SOAP_R1&version=3.0&Sender.Service=&Interface=
    2) http://host:port/XISOAPAdapter/MessageServlet?channel=:BS_TEST:cc_SOAP_R1&version=3.0&Sender.Service=BS_TEST&Interface=*
    3) http://host:port/XISOAPAdapter/MessageServlet?channel=:BS_TEST:cc_SOAP_R1&version=3.0&Sender.Service=BS_TEST&Interface=...MyNameSpace...mi_so_MSG_TWO
    Message in payload:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <!--  Inbound Message   -->
    <MSG_TWO xmlns="urn:xxx:yyy:MyNameSpace" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">... some fields... </MSG_TWO>
    But in SOAP Header I see that is NOT second message!
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    < !--  Inbound Message   -->
    <SAP:Main>
      <SAP:MessageClass>ApplicationMessage</SAP:MessageClass>
      <SAP:ProcessingMode>synchronous</SAP:ProcessingMode>
      <SAP:MessageId>93233F70-3E2F-11DF-8CD3-00237D301CD6</SAP:MessageId>
      <SAP:TimeSent>2010-04-02T08:13:09Z</SAP:TimeSent>
      <SAP:Sender>
        <SAP:Service>BS_TEST</SAP:Service>
        <SAP:Interface namespace="urn:xxx:yyy:MyNameSpace">mi_so_MSG_ONE</SAP:Interface>
      </SAP:Sender>
      <SAP:Interface namespace="urn:xxx:yyy:MyNameSpace">mi_so_MSG_ONE</SAP:Interface>
      </SAP:Main>
    Is it correct that many kinds of messages cannot goes through one Sender Channel ? If not... How can I reuse one SOAP Sender Channel for both this messages?
    Thanks for helping.

    Thanks for answers!
    It means a webservice application will be deployed and exposed in PI using the associated Message Interface and its namespace information in the SOAP Sender channel.
    It means only one Sender Channel per one pair of names (name of Message Interface and name of namespace). And it will fail if I change something. And question is: why URL for sending SOAP message contains parameter "Interface"?
    "backward compatibility" or "for future use only"?
    Nothing happens when I change this parameter, seems that name of Interface comes from first of founded Sender Agreements.
    If the structures are the same
    No. Structures are different.
    Making one structure per all SOAP incoming messages looks workable, but... looks strange (in fact I have a lot of SOAP messages, more than 100 Sender channels).
    I found an information, that I can use one Sender channel per many messages with different structures only if I make this messages like different Operations in one Service Interface (in PI 7.1).
    But in this case in list of messages in SXMB_MONI I will see only a one name of Service Interface for all my messages and it's not so comfortably for supporting: to take a name of operation that fails I need to goes inside.
    In older version of XI (prior 7.1) using one sender channel per many messages allowed without any hints.

  • Problems with EventSource generating two different types of event

    Hi everybody,
    i was trying to connect an EventSource (capable of generating two different event types: a MapEventType and a TupleEventType) to two CQL processors through two separate channels, each one dedicated to its event type:
    ASSEMBLY:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans ....>
         <wlevs:event-type-repository>
              <wlevs:event-type type-name="testMapEvent">
                   <wlevs:metadata>
                        <entry key="message" value="java.lang.String"/>
                        <entry key="date" value="java.util.Date" />
                        <entry key="list" value="java.util.List" />                    
                   </wlevs:metadata>
              </wlevs:event-type>
              <wlevs:event-type type-name="testTupleEvent">
    <wlevs:properties>
    <wlevs:property name="t_message" type="char" length="4000" />
    <wlevs:property name="t_date" type="timestamp"/>
    <wlevs:property name="t_list" type="object"/>
    </wlevs:properties>
              </wlevs:event-type>
         </wlevs:event-type-repository>
         <wlevs:adapter id="input" class="com.bea.wlevs.adapter.example.types.TestAdapter">
         <wlevs:instance-property name="eventTypeName" value="testMapEvent"/>
         </wlevs:adapter>
         <bean id="output" class="com.bea.wlevs.example.types.TestOutputBean" />
    <wlevs:channel id="inputChannelTuple" event-type="testTupleEvent">
    <wlevs:listener ref="testProcessorTuple" />
    <wlevs:source ref="input" />
    </wlevs:channel>
         <wlevs:channel id="inputChannelMap" event-type="testMapEvent">
              <wlevs:listener ref="testProcessorMap" />
              <wlevs:source ref="input" />
         </wlevs:channel>
         <wlevs:processor id="testProcessorMap" />
    <wlevs:processor id="testProcessorTuple" />
         <wlevs:channel id="outputChannelMap" event-type="testMapEvent">
              <wlevs:listener ref="output" />
              <wlevs:source ref="testProcessorMap" />
         </wlevs:channel>
         <wlevs:channel id="outputChannelTuple" event-type="testTupleEvent">
              <wlevs:listener ref="output" />
              <wlevs:source ref="testProcessorTuple" />
         </wlevs:channel>
    </beans>
    JAVA:
    The com.bea.wlevs.adapter.example.types.TestAdapter class is a simple RunnableBean generating "testMapEvent"s like this:
    +public void run() {+
    +... bla bla bla ...+
    +while(true) {+
    Object event = createEvent();
    +if(event != null) {+
    eventSender.sendInsertEvent(event);
    +}+
    +}+
    +}+
    +private Object createEvent() {+
    Object obj = eventType.createEvent();
    EventProperty p;
    p = eventType.getProperty("message");
    p.setValue(obj, "Evento #" seqNum); // seqNum is a int+
    p = eventType.getProperty("date");
    p.setValue(obj, new Date());
    p = eventType.getProperty("list");
    p.setValue(obj, nipotini); // nipotini is a List<String>
    return obj;
    +}+
    CONFIG:
    +<?xml version="1.0" encoding="UTF-8"?>+
    +<n1:config xmlns:n1="http://www.bea.com/ns/wlevs/config/application">+
    +<processor>+
    +<name>testProcessorMap</name>+
    +<rules>+
    +<query id="testRuleMap">+
    +<![CDATA[ select message, date, list from inputChannelMap ]]>+
    +</query>+
    +</rules>+
    +</processor>+
    +<processor>+
    +<name>testProcessorTuple</name>+
    +<rules>+
    +<query id="testRuleTuple">+
    +<![CDATA[ select t_message, t_date, t_list from inputChannelTuple ]]>+
    +</query>+
    +</rules>+
    +</processor>+
    +</n1:config>+
    Seems like the events cannot make it beyond the CQL processors:
    +<15-dic-2010 20.11.34 CET> <Error> <CQLProcessor> <BEA-000000> <Failed to set property [t_message] of event type [testTu+
    +pleEvent]. Cause = [t_message] is not a property of event type [testMapEvent]>+
    +<15-dic-2010 20.11.34 CET> <Warning> <Ede> <BEA-000000> <Exception for 'testMapEvent{message=Evento #14, list=[QUI, QUO,+
    +QUA], date=Wed Dec 15 20:11:34 CET 2010}' raised by listener = com.oracle.cep.processor.cql.impl.CQLEventReceiver@aa882+
    +7+
    +com.bea.wlevs.ede.api.EventProcessingException: Internal error processing event [testMapEvent{message=Evento #14, list=[+
    +QUI, QUO, QUA], date=Wed Dec 15 20:11:34 CET 2010}] = Failed to set property [t_message] of event type [testTupleEvent].+
    +Cause = [t_message] is not a property of event type [testMapEvent]+
    at com.oracle.cep.processor.cql.impl.CQLEventReceiver.sendToEngine(CQLEventReceiver.java:389)
    at com.oracle.cep.processor.cql.impl.CQLEventReceiver.onInsertEvent(CQLEventReceiver.java:248)
    at com.bea.wlevs.processor.impl.EventSenderImpl.sendInsertEventToListener(EventSenderImpl.java:360)
    at com.bea.wlevs.processor.impl.EventSenderImpl.sendInsertEvent(EventSenderImpl.java:331)
    at com.bea.wlevs.ede.spi.AbstractSendEventInterceptor.sendInsertEvent(AbstractSendEventInterceptor.java:78)
    at com.bea.wlevs.eventstore.recplay.RecordPlaySendEventInterceptor.sendInsertEvent(RecordPlaySendEventIntercepto
    r.java:159)
    at com.bea.wlevs.ede.spi.AbstractSendEventInterceptor.sendInsertEvent(AbstractSendEventInterceptor.java:78)
    at com.bea.wlevs.eventinspector.EventInspectInterceptor.sendInsertEvent(EventInspectInterceptor.java:132)
    at com.bea.wlevs.ede.spi.AbstractSendEventInterceptor.sendInsertEvent(AbstractSendEventInterceptor.java:78)
    at com.bea.wlevs.monitor.internal.MonitorSendEventInterceptor.sendInsertEvent(MonitorSendEventInterceptor.java:4
    +79)+
    at com.bea.wlevs.channel.impl.ChannelImpl.onInsertEvent(ChannelImpl.java:439)
    at com.bea.wlevs.processor.impl.EventSenderImpl.sendInsertEventToListener(EventSenderImpl.java:360)
    at com.bea.wlevs.processor.impl.EventSenderImpl.sendInsertEvent(EventSenderImpl.java:331)
    at com.bea.wlevs.ede.impl.EventSourceEventSenderImpl.sendInsertEvent(EventSourceEventSenderImpl.java:85)
    at com.bea.wlevs.ede.spi.AbstractSendEventInterceptor.sendInsertEvent(AbstractSendEventInterceptor.java:78)
    at com.bea.wlevs.eventstore.recplay.RecordPlaySendEventInterceptor.sendInsertEvent(RecordPlaySendEventIntercepto
    r.java:159)
    at com.bea.wlevs.ede.spi.AbstractSendEventInterceptor.sendInsertEvent(AbstractSendEventInterceptor.java:78)
    at com.bea.wlevs.eventinspector.EventInspectInterceptor.sendInsertEvent(EventInspectInterceptor.java:132)
    at com.bea.wlevs.ede.spi.AbstractSendEventInterceptor.sendInsertEvent(AbstractSendEventInterceptor.java:78)
    at com.bea.wlevs.monitor.internal.MonitorSendEventInterceptor.sendInsertEvent(MonitorSendEventInterceptor.java:4
    +79)+
    at com.bea.wlevs.adapter.example.types.TestAdapter.run(TestAdapter.java:33)
    at com.bea.wlevs.adapter.example.types.TestAdapter$$FastClassByCGLIB$$89b675c7.invoke(<generated>)
    at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
    at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:70
    +0)+
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at com.bea.wlevs.ede.impl.EventManagerAccessorProxy.invoke(EventManagerAccessorProxy.java:30)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.wlevs.ede.impl.EventBeanProxy.invoke(EventBeanProxy.java:38)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
    at com.bea.wlevs.adapter.example.types.TestAdapter$$EnhancerByCGLIB$$16190560.run(<generated>)
    at com.bea.wlevs.spring.RunnableBeanPostProcessor$RunnableWrapper.run(RunnableBeanPostProcessor.java:117)
    at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:196)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    +Caused By: com.bea.wlevs.ede.api.EventPropertyException: Failed to set property [t_message] of event type [testTupleEven+
    +t]. Cause = [t_message] is not a property of event type [testMapEvent]+
    at com.oracle.cep.processor.cql.impl.TupleValueUtils.raiseEventPropertyException(TupleValueUtils.java:153)
    at com.oracle.cep.processor.cql.impl.TupleValueUtils.projectEvent(TupleValueUtils.java:90)
    at com.oracle.cep.processor.cql.impl.TupleValueUtils.compareAndProjectEvent(TupleValueUtils.java:48)
    at com.oracle.cep.processor.cql.impl.CQLEventReceiver.sendToEngine(CQLEventReceiver.java:337)
    at com.oracle.cep.processor.cql.impl.CQLEventReceiver.onInsertEvent(CQLEventReceiver.java:248)
    at com.bea.wlevs.processor.impl.EventSenderImpl.sendInsertEventToListener(EventSenderImpl.java:360)
    at com.bea.wlevs.processor.impl.EventSenderImpl.sendInsertEvent(EventSenderImpl.java:331)
    at com.bea.wlevs.ede.spi.AbstractSendEventInterceptor.sendInsertEvent(AbstractSendEventInterceptor.java:78)
    at com.bea.wlevs.eventstore.recplay.RecordPlaySendEventInterceptor.sendInsertEvent(RecordPlaySendEventIntercepto
    r.java:159)
    at com.bea.wlevs.ede.spi.AbstractSendEventInterceptor.sendInsertEvent(AbstractSendEventInterceptor.java:78)
    at com.bea.wlevs.eventinspector.EventInspectInterceptor.sendInsertEvent(EventInspectInterceptor.java:132)
    at com.bea.wlevs.ede.spi.AbstractSendEventInterceptor.sendInsertEvent(AbstractSendEventInterceptor.java:78)
    at com.bea.wlevs.monitor.internal.MonitorSendEventInterceptor.sendInsertEvent(MonitorSendEventInterceptor.java:4
    +79)+
    at com.bea.wlevs.channel.impl.ChannelImpl.onInsertEvent(ChannelImpl.java:439)
    at com.bea.wlevs.processor.impl.EventSenderImpl.sendInsertEventToListener(EventSenderImpl.java:360)
    at com.bea.wlevs.processor.impl.EventSenderImpl.sendInsertEvent(EventSenderImpl.java:331)
    at com.bea.wlevs.ede.impl.EventSourceEventSenderImpl.sendInsertEvent(EventSourceEventSenderImpl.java:85)
    at com.bea.wlevs.ede.spi.AbstractSendEventInterceptor.sendInsertEvent(AbstractSendEventInterceptor.java:78)
    at com.bea.wlevs.eventstore.recplay.RecordPlaySendEventInterceptor.sendInsertEvent(RecordPlaySendEventIntercepto
    r.java:159)
    at com.bea.wlevs.ede.spi.AbstractSendEventInterceptor.sendInsertEvent(AbstractSendEventInterceptor.java:78)
    at com.bea.wlevs.eventinspector.EventInspectInterceptor.sendInsertEvent(EventInspectInterceptor.java:132)
    at com.bea.wlevs.ede.spi.AbstractSendEventInterceptor.sendInsertEvent(AbstractSendEventInterceptor.java:78)
    at com.bea.wlevs.monitor.internal.MonitorSendEventInterceptor.sendInsertEvent(MonitorSendEventInterceptor.java:4
    +79)+
    at com.bea.wlevs.adapter.example.types.TestAdapter.run(TestAdapter.java:33)
    at com.bea.wlevs.adapter.example.types.TestAdapter$$FastClassByCGLIB$$89b675c7.invoke(<generated>)
    at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
    at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:70
    +0)+
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at com.bea.wlevs.ede.impl.EventManagerAccessorProxy.invoke(EventManagerAccessorProxy.java:30)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.wlevs.ede.impl.EventBeanProxy.invoke(EventBeanProxy.java:38)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
    at com.bea.wlevs.adapter.example.types.TestAdapter$$EnhancerByCGLIB$$16190560.run(<generated>)
    at com.bea.wlevs.spring.RunnableBeanPostProcessor$RunnableWrapper.run(RunnableBeanPostProcessor.java:117)
    at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:196)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    +>+
    Can anybody help me figuring out what's wrong?
    Thank you in advance!

    Hello Chris,
    Wondering if you've found a solution for this.
    I was thinking you could make a web app that used the jQuery dialog, then let the client just put an individual web app item on the home page when they want to have the pop up.
    This way it is more like one type of modal window and the client can show whatever they want when they want, and turn it off by removing the module.
    You can place the module inside a content holder so they do not mess up any template or page content.
    Hope this helps,
    Chad Smith | http://bcgurus.com/Business-Catalyst-Templates for only $7

  • Misplaced publication item query of two different publication itens

    Hi,
    I’m creating a new publication on Oracle Database Lite 10g.
    Almost all of the publication itens are ok, except two of then: when I publicate the “item1” ,the publication item query is rightly displayed on Mobile Manager page and in the administratives tables, as the C$ALL_PUBLICATIONS table. But, when I publicate the “item2”, that is rightly displayed on Mobile Manager site too, the query of the “item1” receives the same value of “item2” query.
    I’ve just checked for wrong synonym creation of the two tables involved , but they are correct.
    Has anybody ever seen something like that?
    An example of my two queries:
    Publication item1 : select field1 , field2 , field3 from table2 where field4 = 1
    Publication item2 :; : select field1, field2 from table1;
    It’s important : I have two different tables above.
    When I synchronize the PDA , with this publication assigned to the user, I receive an error message on Mobile Manager page that some field is misplaced or required . In other words: for publication item2 the application tries to put the data returned from the query of publication item1 .
    Thanks.

    Hi,
    The publication was created successfully and the type is “WCE”. I created it using the “Mobile Manager” page, with an .xml file , compressed in the .jar format.
    Here is the web.xml file:
    <?xml version = '1.0' encoding = 'WINDOWS-1252'?>
    <workspace>
    <application name="WCE_REGRAS">
    <app_info>
    <directory>/WCE_REGRAS</directory>
    <virtualpath>/WCE_REGRAS</virtualpath>
    <defaultpage/>
    <icon/>
    <description>WCE_REGRAS</description>
    <publication/>
    <platform>Oracle Lite PPC2000 ARM;US</platform>
    </app_info>
    <app_db publication="AFV"/>
    <snapshot name="REGIONS" owner="HR" order="1">
    <snaplatform object="TABLE" platform="ORACLE LITE PPC2000 ARM;US" template="SELECT * FROM HR.REGIONS" updatable="Y" conflict="client" refresh="fast" virtualprimname="" virtualprimcolname=""/>
    </snapshot>
    </application>
    </workspace>
    The publication item with weight equals to 1 (default) was deleted . I’m using an Java application to publicate the items an add them to the publication ( in this case, “WCE_REGRAS”)
    Some publication items will have the “conflict rule” set to “Client Wins” and the other ones will be set to “Server Wins”.
    Here is the .xml code that my java application reads to create the publication items that are wrong:
    Publicationitens.xml
    <app>
         <repository>
              <connectionString><!--THE CONNECTION STRING--></connectionString>
              <user><!--THE USER--></user>
              <password><!--THE PASSWORD--></password>
         </repository>
         <remoteDB>
              <connectionString><!--THE CONNECTION STRING--></connectionString>
              <user><!--THE USER--></user>
              <password><!--THE PASSWORD--></password>
         </remoteDB>
         <localDB>
              <connectionString><!--THE CONNECTION STRING--></connectionString>
              <user><!--THE USER--></user>
              <password><!--THE PASSWORD--></password>
         </localDB>
         <publication>     
              <name>15571</name>
              <virtualPath>/WCE_REGRAS</virtualPath>
              <deviceType>WCE</deviceType>
              <!--CLIENT WINS-->
              <item>
                   <type>local</type>
                   <name>RGE_SAFV_ATIVIDADE</name>
                   <owner>SC_PDA</owner>
                   <object>AFV_ATIVIDADE</object>
                   <filter>SELECT "COD_TIP_ATIV","DAT_ATIV","COMENT_ATIV","STATUS_ATIV","COD_ATIV_PRIOR","DSC_ATIV","COD_FUNCIO","COD_FUNCIO_RESP","COD_ATIV_SIEBEL","COD_CLI","COD_ATIV","COD_FUNCIO_ENC" FROM SC_PDA.AFV_ATIVIDADE WHERE COD_FUNCIO_RESP = :COD_FUNCIO AND STATUS_ATIV IN ('A', 'E')</filter>
                   <weight>26</weight>
                   <action>create</action>
              </item>
              <!--SERVER WINS-->
              <item>
                   <type>local</type>
                   <name>RGE_SAFV_ATIVIDADE_PRIO</name>
                   <owner>SC_PDA</owner>
                   <object>AFV_ATIVIDADE_PRIO</object>
                   <filter>SELECT "COD_ATIV_PRIOR","DSC_ATIV_PRIOR" FROM SC_PDA.AFV_ATIVIDADE_PRIO</filter>
                   <weight>8</weight>
                   <action>create</action>
              </item>      
         </publication>     
    </app>
    In this case the connection string, password and user were omitted form the .xml file.
    In my Java application the following code creates and associate the publication itens to the publication :
    Consolidator.createPublicationItem(connSie, item.getName(), item.getOwner(), item.getObject(), "F", item.getFilter(), null, null);
    Consolidator.addPublicationItem(publication.getName(), item.getName(), null, null, "S", null, item.getWeight());
    , where the object “item” is populated with the publicationitens.xml file with a loop statment .
    This code works ok to the others publication items.
    The problem is : in the administrative tables ( like C$ALL_PUBLICATIONS) the publication string (filter – sql statement) is right. But, when I access the “Mobile Manager” page they are misplaced:
    the filter string from “RGE_SAFV_ATIVIDADE” receives the same filter of “RGE_SAFV_ATIVIDADE_PRIO”.
    Curiously when I delete the “RGE_SAFV_ATIVIDADE_PRIO” publication item , the filter string of “RGE_SAFV_ATIVIDADE” publication item appears correctly in the Manager page.
    I ‘ve just deleted the "RGA_SAFV_ATIVIDADE_PRIO" publication item using my Java application , or by database : I dropped tables, views and triggers that are created by “Consolidator” (java .jar) methods. I created this item again , but the same error occurs.
    I think that it may be something with the data integrity in the database.
    The mobile database is 10g, version 10.2.0.2 ;
    Thanks.

  • Two different Interface map to one Interface

    Hallo together
    I search a solution to Map two different Interface to one.
    What ist the best way. I think i start with BPM and with a Interfacemapping with two Out Interface.
    Example of the Interface.
    Outbound Interface M1
    <?xml version="1.0" encoding="UTF-8"?>
    <resultset>
      <row>
        <KSNR>1</KSNR>
        <KSBEZ>bezeichnung</KSBEZ>
        <KSKAD1>adresse</KSKAD1>
        <KSKAD2>1</KSKAD2>
        <KSADR1>adresse1</KSADR1>
        <KSADR2>adresse2</KSADR2>
        <KSSTR>1</KSSTR>
        <KSPLZ>1</KSPLZ>
        <KSORT>ort</KSORT>
        <KSLAND>1</KSLAND>
        <KSTEL>1</KSTEL>
        <KSFAX>1</KSFAX>
        <KSVRAN>1</KSVRAN>
        <KSNTEL>1</KSNTEL>
        <KSOEF1>1</KSOEF1>
        <KSOEF2>1</KSOEF2>
        <KSRTAN>1</KSRTAN>
        <VSTNR>1</VSTNR>
        <UPDATE_IDENT />
      </row>
    </resultset>
    Outbound Interface M2
    <?xml version="1.0" encoding="UTF-8"?>
    <ns1:FileXML_MT xmlns:ns1="urn://ValoraFileCopy">
      <FileName>test</FileName>
      <Base64 />
    </ns1:FileXML_MT>
    Inbound Interface M3
    <?xml version="1.0" encoding="UTF-8"?>
    <ns1:M_DP xmlns:ns1="urn://ValoraFileCopy">
    <FileName>test</FileName>
      <ns1:Base64>
        <ns1:D_DPid>1</ns1:D_DPid>
        <ns1:D_DPName>bezeichnung</ns1:D_DPName>
        <ns1:D_DPAdress>adresse</ns1:D_DPAdress>
        <ns1:D_DPTown>ort</ns1:D_DPTown>
        <ns1:D_DPZipCode>1</ns1:D_DPZipCode>
        <ns1:D_Adress1>adresse1</ns1:D_Adress1>
        <ns1:D_Adress2>adresse2</ns1:D_Adress2>
      </ns1:Base64>
    </ns1:M_DP>
    Thanks allo fro help
    Regards Thomas Neuhaus

    Hello,
    You don't need BPM for the mapping. You can use the graphical mapping with 2 inbound messages and 1 outbound message.
    http://help.sap.com/saphelp_erp2004/helpdata/en/4f/ef761a5ecfb1418b79896e10fe4c57/frameset.htm
    Regards,
    Chris
    Message was edited by: Christophe DUMONT

  • Can we have two different logon screen for the Portal

    Can we have two different logon screens for the Portal?
    We should split the Logon application in two different applications:
    Login # 1
    should be read a DataSource.XML reading the Active Directory (Microsoft), to read-only the profiles from the AD, and block some IP address range.
    Login # 2
    should be read a DataSource.XML reading the Portal user only
    Is this possible?

    Hello Developer,
    Did you find an answer to this problem. I also have a similar issue at hand and am wondering if anybody has a solution for this.
    Thanks, Akhilesh

Maybe you are looking for