Error:Cannot remove element with nonexisting ID

Hi all, I am following this wiki to add custom fields to family info page: https://www.sdn.sap.com/irj/sdn/wiki?path=/display/profile/2007/07/17/enhanceStandardESSPersonalInformationUIwithout+modification&
when I added the custom fields and clicked Ok, I got this error below:
com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: View: Cannot remove element with nonexisting ID "_CustomExtensionLabel_bizcard_5f_1_23_InfotypeList_2e_Zzareacode" of type com.sap.tc.webdynpro.clientserver.uielib.standard.impl.Label
I saw a few messages with this error, but no solutions.
Any help?
thanks, Rohit

Hello Rohit,
the personalization is not the correct way of adding the custom fields in the Portal. You would
have to add the custom fields from NWDS (Netweaver Development Studio)
You can find a document in SDN  through which you would be able to add the field in the Portal.
Web dynpro personalization is for hiding the fields, changing labels, and lots more.
If you are looking to change overview screen that can be personalized with table V_T7XSSPERBIZFLC. If you cannot see any standard field in overview screen, as per the customizing in mentioned table.
Best Regards,
Deepak..

Similar Messages

  • ERROR: Cannot create authcontext with null org-Naming query failed  code:21

    I use OpenSSO Enterprise 8.0 Update 1 Patch1 Build 6.1(2009-June-9 12:56)
    I try to evaluate the Apache 2.2 web agent.
    It's been installed without errors, and both the OpenSSO and Apache server restarted.
    The agent profile's been created. Also, I use the default (OpenDS) configuration repository
    for OpenSSO, but an external (DSEE) user data directory.
    I think I did all the required steps with regards to both directories, since I don't see any error
    in the LDAP logs, each entry seems to be found as expected, the BIND operations are all
    successfull.
    Also, I use a sub-realm rather than the default top realm, and thus, I've modified the agent configuration
    (in the agent profile) so that the login URL is now ... /UI/Login?realm=myrealm
    When I try to access the Apache homepage, I get an error 500. The most recent OpenSSO server log file
    (...../opensso/debug/Authentication) contains the following message:
    ERROR: Cannot create authcontext with null org
    The most recent agent log file (....../apache22_agent/Agent_001/logs/debug/amAgent) has the following error:
    2009-07-07 17:08:11.992 Error 10513:80149a50 PolicyEngine: am_policy_evaluate: InternalException in Service::update_policy with error message:Naming query failed. and code:21
    I don't know what else I can do to debug this problem and find a solution. Any idea ?

    Thank you Shubba,
    With all available log details enabled, I now have the following messages on the agent side:
    2009-07-09 10:14:51.731MaxDebug 5613:80149a50 all: No value specified for key com.sun.identity.agents.config.profile.attribute.mapping, using default value .
    2009-07-09 10:14:51.731 Debug 5613:80149a50 NamingService: BaseService::doRequest(): Using server: http://portable.antibes.net:8080/opensso/namingservice.
    2009-07-09 10:14:51.731MaxDebug 5613:80149a50 NamingService:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <RequestSet vers="1.0" svcid="com.iplanet.am.naming" reqid="10">
    <Request><![CDATA[                                                                                                                      
      <NamingRequest vers="3.0" reqid="2" sessid=""AQIC5wM2LY4SfcyaGFgc5h9Y7/kpf4f//ml82oVfNlbWxQE=@AAJTSQACMDE=#"">                             <GetNamingProfile>                                                                                                                         </GetNamingProfile>                                                                                                                        </NamingRequest>]]> </Request>
    </RequestSet>
    2009-07-09 10:14:51.712MaxDebug 5613:80149a50 NamingService: BaseService::sendRequest Request line: POST /opensso/namingservice HTTP/1.0
    2009-07-09 10:14:51.712 Debug 5613:80149a50 NamingService: BaseService::sendRequest Cookie and Headers =Host: portable.antibes.net
    2009-07-09 10:14:51.712 Debug 5613:80149a50 NamingService: BaseService::sendRequest Content-Length =Content-Length: 334
    2009-07-09 10:14:51.712 Debug 5613:80149a50 NamingService: BaseService::sendRequest Header Suffix =Accept: text/xml
    Content-Type: text/xml; charset=UTF-8
    2009-07-09 10:14:51.712MaxDebug 5613:80149a50 NamingService: BaseService::sendRequest(): Total chunks: 7.
    2009-07-09 10:14:51.712MaxDebug 5613:80149a50 NamingService: BaseService::sendRequest(): Sent 7 chunks.
    2009-07-09 10:14:51.728 Debug 5613:80149a50 NamingService: HTTP Status = 500 (Internal Server Error)
    2009-07-09 10:14:51.729MaxDebug 5613:80149a50 NamingService: Http::Response::readAndParse(): Reading headers.
    2009-07-09 10:14:51.729MaxDebug 5613:80149a50 NamingService: Server: Apache-Coyote/1.1
    2009-07-09 10:14:51.729MaxDebug 5613:80149a50 NamingService: Content-Type: text/html;charset=utf-8
    2009-07-09 10:14:51.729MaxDebug 5613:80149a50 NamingService: Date: Thu, 09 Jul 2009 08:14:51 GMT
    2009-07-09 10:14:51.729MaxDebug 5613:80149a50 NamingService: Connection: close
    2009-07-09 10:14:51.729MaxDebug 5613:80149a50 NamingService: Http::Response::readAndParse(): Reading body content of length: 13830487939496281954
    2009-07-09 10:14:51.729MaxDebug 5613:80149a50 all: Connection::waitForReply(): returns with status success.
    2009-07-09 10:14:51.729MaxDebug 5613:80149a50 NamingService: Http::Response::readAndParse(): Completed processing the response with status: success
    2009-07-09 10:14:51.729MaxDebug 5613:80149a50 NamingService: <html><head><title>Apache Tomcat/6.0.18 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The server encountered an internal error () that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>javax.servlet.ServletException: AMSetupFilter.doFilter
    com.sun.identity.setup.AMSetupFilter.doFilter(AMSetupFilter.java:117)
    </pre></p><p><b>root cause</b> <pre>java.lang.NullPointerException
    com.iplanet.services.naming.service.NamingService.processRequest(NamingService.java:361)
    com.iplanet.services.naming.service.NamingService.process(NamingService.java:352)
    com.iplanet.services.comm.server.PLLRequestServlet.handleRequest(PLLRequestServlet.java:180)
    com.iplanet.services.comm.server.PLLRequestServlet.doPost(PLLRequestServlet.java:134)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    com.sun.identity.setup.AMSetupFilter.doFilter(AMSetupFilter.java:91)
    </pre></p><p><b>note</b> <u>The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/6.0.18</h3></body></html>
    2009-07-09 10:14:51.729 Warning 5613:80149a50 NamingService: BaseService::doHttpPost() failed, HTTP error = 500
    2009-07-09 10:14:51.729 Debug 5613:80149a50 NamingService: NamingService()::getProfile() returning with error code HTTP error.
    2009-07-09 10:14:51.729 Error 5613:80149a50 PolicyEngine: am_policy_evaluate: InternalException in Service::update_policy with error message:Naming query failed. and code:21
    In my Tomcat server (OpenSSO server web container), I have the following errors:
    Jul 9, 2009 10:12:35 AM org.apache.catalina.startup.Catalina start
    INFO: Server startup in 22746 ms
    [Fatal Error] :2:46: Element type "NamingRequest" must be followed by either attribute specifications, ">" or "/>".
    java.lang.NullPointerException
    at com.iplanet.services.naming.service.NamingService.processRequest(NamingService.java:361)
    at com.iplanet.services.naming.service.NamingService.process(NamingService.java:352)
    at com.iplanet.services.comm.server.PLLRequestServlet.handleRequest(PLLRequestServlet.java:180)
    at ...
    It seems like the problem comes from the couple of closing square brackets in the NamingRequest tag:
    </NamingRequest>]]>
    I don't know where it comes from, so if you've an idea I'd enjoy .
    Cheers,

  • Error 'cannot cancel document with a down payment that was drawn to invoice

    Error 'cannot cancel document with a down payment that was drawn to invoice.  We need to void a check and are getting this message.  We also get message when trying to cancel the outgoing payment.  The AP Down payment is closed, and the AP invoice is also closed.  Is there a way to 'undraw' the down payment on the AP invoice?  How can this be voided?  Any guidance would be greatly appreciated.  Thanks.

    Hi,
    Check the following thread
    Re: Down payment invoice
    Can not void a check win paid from a down payment invoice
    Re: Cancel down payment
    *Close the thread if issue solved.
    Regards
    Jambulingam.P

  • JDBC receiver error Cannot establish connection with the registered driver

    Hi Expert,
    I am constructing a proxy to JDBC scenario. And I am getting error saying "
    Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error when attempting to get processing resources: com.sap.aii.af.lib.util.concurrent.ResourcePoolException: Unable to create new pooled resource: DriverManagerException: Cannot establish connection with the registered driver. oracle.jdbc.driver.OracleDriver returns: The Network Adapter could not establish the connection. : SQLException: The Network Adapter could not establish the connection"
    I can get into my Oracle database using TOAD with same IP address, user name and password. Could anybody tell me what should I do? Thanks a lot!
    Charles

    Hi,
    Check with your network team, network conenction between PI and Data base not working , Network team have to open Data base system ports inorder connect PI System.
    check with Basis team about network connectivty,like they are bale to ping Data base server ip or not.
    please go through below thread,
    SQLException: Io exception: The Network Adapter could not establish the con
    regards,
    ganesh.

  • IOS 8 - MDM error while removing profile with provided identifier

    I've implemented a custom solution for an MDM vendor, It works well but lately with an Iphone 6 device with IOS 8.1.3 installed, I got this error (MDM ErrorCode: 12013) while performing a "RemoveProfile" command. Here is command provided:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <plist version="1.0">
        <dict>
            <key>Command</key>
            <dict>
                <key>Identifier</key>
                <string>com.nttdata.dymora.policy.restrictions.80EA49BF-9506-450E-8D99-6A9DA6ED 6999</string>
                <key>RequestType</key>
                <string>RemoveProfile</string>
            </dict>
            <key>CommandUUID</key>
            <string>dd71d6d0-5e04-4baf-9408-841e01227bfb</string>
        </dict>
    </plist>
    and here is device response:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
            <key>CommandUUID</key>
            <string>dd71d6d0-5e04-4baf-9408-841e01227bfb</string>
            <key>ErrorChain</key>
            <array>
                    <dict>
                            <key>ErrorCode</key>
                            <integer>12013</integer>
                            <key>ErrorDomain</key>
                            <string>MCMDMErrorDomain</string>
                            <key>LocalizedDescription</key>
                            <string>Il profilo “com.nttdata.dymora.policy.restrictions.80EA49BF-9506-450E-8D99-6A9DA6ED6999<E2 ><80>? non è gestito da MDM.</string>
                            <key>USEnglishDescription</key>
                            <string>The profile “com.nttdata.dymora.policy.restrictions.80EA49BF-9506-450E-8D99-6A9DA6ED6999<E2 ><80>? is not managed by MDM.</string>
                    </dict>
            </array>
            <key>Status</key>
            <string>Error</string>
            <key>UDID</key>
            <string>bc880d07f41f5ef84a06253ee89a4bdd2b584b84</string>
    </dict>
    </plist>
    I don't understand the reason why this command return such error, it has always worked properly!?!? Is there anyone with same error?
    Thanks!
    Paolo

    I've implemented a custom solution for an MDM vendor, It works well but lately with an Iphone 6 device with IOS 8.1.3 installed, I got this error (MDM ErrorCode: 12013) while performing a "RemoveProfile" command. Here is command provided:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <plist version="1.0">
        <dict>
            <key>Command</key>
            <dict>
                <key>Identifier</key>
                <string>com.nttdata.dymora.policy.restrictions.80EA49BF-9506-450E-8D99-6A9DA6ED 6999</string>
                <key>RequestType</key>
                <string>RemoveProfile</string>
            </dict>
            <key>CommandUUID</key>
            <string>dd71d6d0-5e04-4baf-9408-841e01227bfb</string>
        </dict>
    </plist>
    and here is device response:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
            <key>CommandUUID</key>
            <string>dd71d6d0-5e04-4baf-9408-841e01227bfb</string>
            <key>ErrorChain</key>
            <array>
                    <dict>
                            <key>ErrorCode</key>
                            <integer>12013</integer>
                            <key>ErrorDomain</key>
                            <string>MCMDMErrorDomain</string>
                            <key>LocalizedDescription</key>
                            <string>Il profilo “com.nttdata.dymora.policy.restrictions.80EA49BF-9506-450E-8D99-6A9DA6ED6999<E2 ><80>? non è gestito da MDM.</string>
                            <key>USEnglishDescription</key>
                            <string>The profile “com.nttdata.dymora.policy.restrictions.80EA49BF-9506-450E-8D99-6A9DA6ED6999<E2 ><80>? is not managed by MDM.</string>
                    </dict>
            </array>
            <key>Status</key>
            <string>Error</string>
            <key>UDID</key>
            <string>bc880d07f41f5ef84a06253ee89a4bdd2b584b84</string>
    </dict>
    </plist>
    I don't understand the reason why this command return such error, it has always worked properly!?!? Is there anyone with same error?
    Thanks!
    Paolo

  • Cannot open Elements with "Edit In" on Lightroom

    I am unable to open PSE 10 when I select "Edit In" with Lightroom 4.
    I have changed Preferences to PSE Editor. I have uninstalled and reinstalled PSE. I am using a MAC. Can someone please help me.

    When you click on Choose, you have to navigate to the folder that contains PhotoshopElementsEditor.exe.
    On your computer, it is most likely in a different folder than mine, so I can't tell you exactly where to look, it is most likely somewhere in C:\Program Files\Adobe (or C:\Program Files (x86)\Adobe). On your computer, depending on what options you have selected, the .exe may not appear.

  • Problem Digitally signing an xml document "Cannot resolve element"

    I am trying to sign a cXML document. I try to add 3 references to the XMLSignatureFactory but when it hits the 2nd on it throws an error "Cannot resolve element with ID cXMLData". How come I can't add more than 1?
    Here is the stack trace :
    java.lang.RuntimeException: javax.xml.crypto.dsig.XMLSignatureException: javax.xml.crypto.URIReferenceException: com.sun.org.apache.xml.internal.security.utils.res olver.ResourceResolverException: Cannot resolve element with ID cXMLData
    at com.praxair.security.b2b.CXMLDigitalSig.sign(CXMLD igitalSig.java:303)
    at com.praxair.security.b2b.CXMLDigitalSig.main(CXMLD igitalSig.java:359)
    Java Code:
    public class CXMLDigitalSig
         private XMLSignatureFactory factory;
         private KeyStore keyStore;
         private KeyPair keyPair;
         private KeyInfo keyInfo;
         private X509Certificate signingCert;
         public CXMLDigitalSig()
         private void loadCert() throws Exception
              //String keystoreFile = config.getString(KEY_STORE_FILE);
              //String password = config.getString(KEY_STORE_PASSWORD);
              //String alias = config.getString(KEY_STORE_ALIAS);
              String keystoreFile = "C:\\cxmlsign\\teststore";
              String password = "xxxxx";
              String alias = "xxxxx (thawte ssl ca)";
              keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
              File file = new File(keystoreFile);
              FileInputStream inStream = new FileInputStream(file);
              char [] passAsChar = password.toCharArray();          
              keyStore.load(inStream, passAsChar);
              inStream.close();
              String providerName = System.getProperty("jsr105Provider",
                        "org.jcp.xml.dsig.internal.dom.XMLDSigRI");
              factory = XMLSignatureFactory.getInstance("DOM", (Provider) Class
                        .forName(providerName).newInstance());
              KeyStore.PrivateKeyEntry entry = (KeyStore.PrivateKeyEntry) keyStore
                        .getEntry(alias, new KeyStore.PasswordProtection(passAsChar));
              signingCert = (X509Certificate) entry.getCertificate();
              keyPair = new KeyPair(entry.getCertificate().getPublicKey(),
                        entry.getPrivateKey());
              KeyInfoFactory kFactory = factory.getKeyInfoFactory();
              keyInfo = kFactory.newKeyInfo(Collections.singletonList(kFactory
                        .newX509Data(Collections.singletonList(entry
                                  .getCertificate()))));
          * This method returns the message digest for given certificate.
          * @param cert
          * @return
          * @throws NoSuchAlgorithmException
          * @throws CertificateEncodingException
         private static String getThumbPrint(X509Certificate cert)
                   throws NoSuchAlgorithmException, CertificateEncodingException {
              MessageDigest md = MessageDigest.getInstance("SHA-1");
              byte[] der = cert.getEncoded();
              md.update(der);
              byte[] digest = md.digest();
              return hexify(digest);
         private static String hexify(byte bytes[]) {
              char[] hexDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
                        'a', 'b', 'c', 'd', 'e', 'f' };
              StringBuffer buf = new StringBuffer(bytes.length * 2);
              for (int i = 0; i < bytes.length; ++i) {
                   buf.append(hexDigits[(bytes[i] & 0xf0) >> 4]);
                   buf.append(hexDigits[bytes[i] & 0x0f]);
              return buf.toString();
          * Adds an enveloped signature to the given document. The signature is
          * generated as per the CXML specfication outlined in the CXML user guide.
          * This method creates the signature and three references and also the XADES
          * information.
         public void sign(Element cxmlElement, String payloadId) throws SQLException {
              Reference ref1;
              Reference ref2;
              Reference ref3;
              List<Reference> refs = new ArrayList<Reference>();
              SignedInfo signedInfo;
              try {
                   ref1 = factory.newReference("#cXMLSignedInfo",
                             factory.newDigestMethod(DigestMethod.SHA1, null), null,
                             null, null);
                   refs.add(ref1);
                   ref2 = factory.newReference("#cXMLData",
                             factory.newDigestMethod(DigestMethod.SHA1, null), null,
                             null, null);
                   refs.add(ref2);
                   ref3 = factory.newReference("#XAdESSignedProps",
                             factory.newDigestMethod(DigestMethod.SHA1, null));
                   refs.add(ref3);
                   signedInfo = factory.newSignedInfo(factory
                             .newCanonicalizationMethod(
                                       CanonicalizationMethod.INCLUSIVE,
                                       (C14NMethodParameterSpec) null), factory
                             .newSignatureMethod(SignatureMethod.RSA_SHA1, null), refs);
              } catch (NoSuchAlgorithmException e) {
                   throw new RuntimeException(e);
              } catch (InvalidAlgorithmParameterException e) {
                   throw new RuntimeException(e);
              List<DOMStructure> xmlObjSignedInfo = new ArrayList<DOMStructure>();
              Element signedInfoElement = createElement(cxmlElement,
                        "cXMLSignedInfo", null, null);
              signedInfoElement.setAttributeNS(null, "Id", "cXMLSignedInfo");
              signedInfoElement.setAttributeNS(null, "payloadID", payloadId);
              signedInfoElement.setAttributeNS(null, "signatureVersion", "1.0");
              DOMStructure signedInfoStruct = new DOMStructure(signedInfoElement);
              xmlObjSignedInfo.add(signedInfoStruct);
              String xadesNS = "http://uri.etsi.org/01903/v1.1.1#";
              // Create the necessary XADES information as outlined in the CXML
              // specification
              Element QPElement = createElement(cxmlElement, "QualifyingProperties",
                        "xades", xadesNS);
              QPElement.setAttributeNS("http://www.w3.org/2000/xmlns/",
                        "xmlns:xades", xadesNS);
              QPElement.setAttributeNS(null, "Target", "#cXMLSignature");
              Element SPElement = createElement(cxmlElement, "SignedProperties",
                        "xades", xadesNS);
              SPElement.setAttributeNS(null, "Id", "XAdESSignedProps");
              IdResolver.registerElementById(SPElement, "XAdESSignedProps");
              QPElement.appendChild(SPElement);
              Element signedSPElement = createElement(cxmlElement,
                        "SignedSignatureProperties", "xades", xadesNS);
              Element signingTimeElement = createElement(cxmlElement, "SigningTime",
                        "xades", xadesNS);
              SimpleDateFormat dateFormatter = new SimpleDateFormat(
                        "yyyy-MM-dd'T'HH:mm:ss");
              signingTimeElement.appendChild(cxmlElement.getOwnerDocument()
                        .createTextNode(dateFormatter.format(new Date())));
              signedSPElement.appendChild(signingTimeElement);
              SPElement.appendChild(signedSPElement);
              String certDigest = "";
              try {
                   certDigest = getThumbPrint(signingCert);
              } catch (CertificateEncodingException ce) {
                   throw new RuntimeException(ce);
              } catch (NoSuchAlgorithmException ne) {
                   throw new RuntimeException(ne);
              Element signingCertificateElement = createElement(cxmlElement,
                        "SigningCertificate", "xades", xadesNS);
              Element certElement = createElement(cxmlElement, "Cert", "xades",
                        xadesNS);
              Element certDigestElement = createElement(cxmlElement, "CertDigest",
                        "xades", xadesNS);
              Element digestMethodElement = createElement(cxmlElement,
                        "DigestMethod", "ds", XMLSignature.XMLNS);
              digestMethodElement
                        .setAttributeNS(null, "Algorithm", DigestMethod.SHA1);
              Element digestValueElement = createElement(cxmlElement, "DigestValue",
                        "ds", XMLSignature.XMLNS);
              digestValueElement.appendChild(cxmlElement.getOwnerDocument()
                        .createTextNode(certDigest));
              Element issuerSerialElement = createElement(cxmlElement,
                        "IssuerSerial", "xades", xadesNS);
              Element x509IssuerNameElement = createElement(cxmlElement,
                        "X509IssuerName", "ds", XMLSignature.XMLNS);
              x509IssuerNameElement
                        .appendChild(cxmlElement.getOwnerDocument().createTextNode(
                                  signingCert.getIssuerX500Principal().toString()));
              Element x509IssuerSerialNumberElement = createElement(cxmlElement,
                        "X509IssuerSerialNumber", "ds", XMLSignature.XMLNS);
              x509IssuerSerialNumberElement.appendChild(cxmlElement
                        .getOwnerDocument().createTextNode(
                                  signingCert.getSerialNumber().toString()));
              certDigestElement.appendChild(digestMethodElement);
              certDigestElement.appendChild(digestValueElement);
              certElement.appendChild(certDigestElement);
              issuerSerialElement.appendChild(x509IssuerNameElement);
              issuerSerialElement.appendChild(x509IssuerSerialNumberElement);
              certElement.appendChild(issuerSerialElement);
              signingCertificateElement.appendChild(certElement);
              signedSPElement.appendChild(signingCertificateElement);
              DOMStructure qualifPropStruct = new DOMStructure(QPElement);
              List<DOMStructure> xmlObjQualifyingProperty = new ArrayList<DOMStructure>();
              xmlObjQualifyingProperty.add(qualifPropStruct);
              XMLObject objectSingedInfo = factory.newXMLObject(xmlObjSignedInfo,
                        null, null, null);
              XMLObject objectQualifyingProperty = factory.newXMLObject(
                        xmlObjQualifyingProperty, null, null, null);
              // Create the ds:object tags
              List<XMLObject> objects = new ArrayList<XMLObject>();
              objects.add(objectSingedInfo);
              objects.add(objectQualifyingProperty);
              XMLSignature signature = factory.newXMLSignature(signedInfo, keyInfo,
                        objects, "cXMLSignature", null);
              DOMSignContext signContext = new DOMSignContext(keyPair.getPrivate(),
                        cxmlElement);
              signContext.putNamespacePrefix(XMLSignature.XMLNS, "ds");
              try {
                   signature.sign(signContext);
              } catch (MarshalException e) {
                   throw new RuntimeException(e);
              } catch (XMLSignatureException e) {
                   throw new RuntimeException(e);
         private Element createElement(Element element, String tag, String prefix,
                   String nsURI) {
              String qName = prefix == null ? tag : prefix + ":" + tag;
              return element.getOwnerDocument().createElementNS(nsURI, qName);
         X509Certificate getSigningCert() {
              return signingCert;
         private static String readFileAsString(String filePath)     throws java.io.IOException
              byte[] buffer = new byte[(int) new File(filePath).length()];
              BufferedInputStream f = null;
              try {
                   f = new BufferedInputStream(new FileInputStream(filePath));
                   f.read(buffer);
              } finally {
                   if (f != null) {
                        try {
                             f.close();
                        } catch (IOException ignored) {
              return new String(buffer);
         public static void main(String args[])
              System.out.println("start");
              CXMLDigitalSig cXMLDigitalSig = new CXMLDigitalSig();
              try
                   cXMLDigitalSig.loadCert();
                      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
                      dbf.setNamespaceAware(true);
                   String cXML = readFileAsString("C:\\cxmlsign\\cxml.xml");
                      Document cxmlDocument = dbf.newDocumentBuilder()
                                                 .parse(new ByteArrayInputStream(cXML
                                                           .getBytes("UTF-8")));
                   System.out.println(cxmlDocument.getDocumentElement().getTagName());
                      cXMLDigitalSig.sign(cxmlDocument.getDocumentElement(), "55");
              catch(Exception e)
                   //System.out.println(e.getMessage());
                   System.out.println(getStackTrace(e));
                 System.out.println("end");
           public static String getStackTrace(Throwable aThrowable) {
                  final Writer result = new StringWriter();
                  final PrintWriter printWriter = new PrintWriter(result);
                  aThrowable.printStackTrace(printWriter);
                  return result.toString();
    }Edited by: sabre150 on Jan 18, 2012 1:57 PM
    Moderator action : added [ code ] tags to format source code

    I am trying to sign a cXML document. I try to add 3 references to the XMLSignatureFactory but when it hits the 2nd on it throws an error "Cannot resolve element with ID cXMLData". How come I can't add more than 1?
    Here is the stack trace :
    java.lang.RuntimeException: javax.xml.crypto.dsig.XMLSignatureException: javax.xml.crypto.URIReferenceException: com.sun.org.apache.xml.internal.security.utils.res olver.ResourceResolverException: Cannot resolve element with ID cXMLData
    at com.praxair.security.b2b.CXMLDigitalSig.sign(CXMLD igitalSig.java:303)
    at com.praxair.security.b2b.CXMLDigitalSig.main(CXMLD igitalSig.java:359)
    Java Code:
    public class CXMLDigitalSig
         private XMLSignatureFactory factory;
         private KeyStore keyStore;
         private KeyPair keyPair;
         private KeyInfo keyInfo;
         private X509Certificate signingCert;
         public CXMLDigitalSig()
         private void loadCert() throws Exception
              //String keystoreFile = config.getString(KEY_STORE_FILE);
              //String password = config.getString(KEY_STORE_PASSWORD);
              //String alias = config.getString(KEY_STORE_ALIAS);
              String keystoreFile = "C:\\cxmlsign\\teststore";
              String password = "xxxxx";
              String alias = "xxxxx (thawte ssl ca)";
              keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
              File file = new File(keystoreFile);
              FileInputStream inStream = new FileInputStream(file);
              char [] passAsChar = password.toCharArray();          
              keyStore.load(inStream, passAsChar);
              inStream.close();
              String providerName = System.getProperty("jsr105Provider",
                        "org.jcp.xml.dsig.internal.dom.XMLDSigRI");
              factory = XMLSignatureFactory.getInstance("DOM", (Provider) Class
                        .forName(providerName).newInstance());
              KeyStore.PrivateKeyEntry entry = (KeyStore.PrivateKeyEntry) keyStore
                        .getEntry(alias, new KeyStore.PasswordProtection(passAsChar));
              signingCert = (X509Certificate) entry.getCertificate();
              keyPair = new KeyPair(entry.getCertificate().getPublicKey(),
                        entry.getPrivateKey());
              KeyInfoFactory kFactory = factory.getKeyInfoFactory();
              keyInfo = kFactory.newKeyInfo(Collections.singletonList(kFactory
                        .newX509Data(Collections.singletonList(entry
                                  .getCertificate()))));
          * This method returns the message digest for given certificate.
          * @param cert
          * @return
          * @throws NoSuchAlgorithmException
          * @throws CertificateEncodingException
         private static String getThumbPrint(X509Certificate cert)
                   throws NoSuchAlgorithmException, CertificateEncodingException {
              MessageDigest md = MessageDigest.getInstance("SHA-1");
              byte[] der = cert.getEncoded();
              md.update(der);
              byte[] digest = md.digest();
              return hexify(digest);
         private static String hexify(byte bytes[]) {
              char[] hexDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
                        'a', 'b', 'c', 'd', 'e', 'f' };
              StringBuffer buf = new StringBuffer(bytes.length * 2);
              for (int i = 0; i < bytes.length; ++i) {
                   buf.append(hexDigits[(bytes[i] & 0xf0) >> 4]);
                   buf.append(hexDigits[bytes[i] & 0x0f]);
              return buf.toString();
          * Adds an enveloped signature to the given document. The signature is
          * generated as per the CXML specfication outlined in the CXML user guide.
          * This method creates the signature and three references and also the XADES
          * information.
         public void sign(Element cxmlElement, String payloadId) throws SQLException {
              Reference ref1;
              Reference ref2;
              Reference ref3;
              List<Reference> refs = new ArrayList<Reference>();
              SignedInfo signedInfo;
              try {
                   ref1 = factory.newReference("#cXMLSignedInfo",
                             factory.newDigestMethod(DigestMethod.SHA1, null), null,
                             null, null);
                   refs.add(ref1);
                   ref2 = factory.newReference("#cXMLData",
                             factory.newDigestMethod(DigestMethod.SHA1, null), null,
                             null, null);
                   refs.add(ref2);
                   ref3 = factory.newReference("#XAdESSignedProps",
                             factory.newDigestMethod(DigestMethod.SHA1, null));
                   refs.add(ref3);
                   signedInfo = factory.newSignedInfo(factory
                             .newCanonicalizationMethod(
                                       CanonicalizationMethod.INCLUSIVE,
                                       (C14NMethodParameterSpec) null), factory
                             .newSignatureMethod(SignatureMethod.RSA_SHA1, null), refs);
              } catch (NoSuchAlgorithmException e) {
                   throw new RuntimeException(e);
              } catch (InvalidAlgorithmParameterException e) {
                   throw new RuntimeException(e);
              List<DOMStructure> xmlObjSignedInfo = new ArrayList<DOMStructure>();
              Element signedInfoElement = createElement(cxmlElement,
                        "cXMLSignedInfo", null, null);
              signedInfoElement.setAttributeNS(null, "Id", "cXMLSignedInfo");
              signedInfoElement.setAttributeNS(null, "payloadID", payloadId);
              signedInfoElement.setAttributeNS(null, "signatureVersion", "1.0");
              DOMStructure signedInfoStruct = new DOMStructure(signedInfoElement);
              xmlObjSignedInfo.add(signedInfoStruct);
              String xadesNS = "http://uri.etsi.org/01903/v1.1.1#";
              // Create the necessary XADES information as outlined in the CXML
              // specification
              Element QPElement = createElement(cxmlElement, "QualifyingProperties",
                        "xades", xadesNS);
              QPElement.setAttributeNS("http://www.w3.org/2000/xmlns/",
                        "xmlns:xades", xadesNS);
              QPElement.setAttributeNS(null, "Target", "#cXMLSignature");
              Element SPElement = createElement(cxmlElement, "SignedProperties",
                        "xades", xadesNS);
              SPElement.setAttributeNS(null, "Id", "XAdESSignedProps");
              IdResolver.registerElementById(SPElement, "XAdESSignedProps");
              QPElement.appendChild(SPElement);
              Element signedSPElement = createElement(cxmlElement,
                        "SignedSignatureProperties", "xades", xadesNS);
              Element signingTimeElement = createElement(cxmlElement, "SigningTime",
                        "xades", xadesNS);
              SimpleDateFormat dateFormatter = new SimpleDateFormat(
                        "yyyy-MM-dd'T'HH:mm:ss");
              signingTimeElement.appendChild(cxmlElement.getOwnerDocument()
                        .createTextNode(dateFormatter.format(new Date())));
              signedSPElement.appendChild(signingTimeElement);
              SPElement.appendChild(signedSPElement);
              String certDigest = "";
              try {
                   certDigest = getThumbPrint(signingCert);
              } catch (CertificateEncodingException ce) {
                   throw new RuntimeException(ce);
              } catch (NoSuchAlgorithmException ne) {
                   throw new RuntimeException(ne);
              Element signingCertificateElement = createElement(cxmlElement,
                        "SigningCertificate", "xades", xadesNS);
              Element certElement = createElement(cxmlElement, "Cert", "xades",
                        xadesNS);
              Element certDigestElement = createElement(cxmlElement, "CertDigest",
                        "xades", xadesNS);
              Element digestMethodElement = createElement(cxmlElement,
                        "DigestMethod", "ds", XMLSignature.XMLNS);
              digestMethodElement
                        .setAttributeNS(null, "Algorithm", DigestMethod.SHA1);
              Element digestValueElement = createElement(cxmlElement, "DigestValue",
                        "ds", XMLSignature.XMLNS);
              digestValueElement.appendChild(cxmlElement.getOwnerDocument()
                        .createTextNode(certDigest));
              Element issuerSerialElement = createElement(cxmlElement,
                        "IssuerSerial", "xades", xadesNS);
              Element x509IssuerNameElement = createElement(cxmlElement,
                        "X509IssuerName", "ds", XMLSignature.XMLNS);
              x509IssuerNameElement
                        .appendChild(cxmlElement.getOwnerDocument().createTextNode(
                                  signingCert.getIssuerX500Principal().toString()));
              Element x509IssuerSerialNumberElement = createElement(cxmlElement,
                        "X509IssuerSerialNumber", "ds", XMLSignature.XMLNS);
              x509IssuerSerialNumberElement.appendChild(cxmlElement
                        .getOwnerDocument().createTextNode(
                                  signingCert.getSerialNumber().toString()));
              certDigestElement.appendChild(digestMethodElement);
              certDigestElement.appendChild(digestValueElement);
              certElement.appendChild(certDigestElement);
              issuerSerialElement.appendChild(x509IssuerNameElement);
              issuerSerialElement.appendChild(x509IssuerSerialNumberElement);
              certElement.appendChild(issuerSerialElement);
              signingCertificateElement.appendChild(certElement);
              signedSPElement.appendChild(signingCertificateElement);
              DOMStructure qualifPropStruct = new DOMStructure(QPElement);
              List<DOMStructure> xmlObjQualifyingProperty = new ArrayList<DOMStructure>();
              xmlObjQualifyingProperty.add(qualifPropStruct);
              XMLObject objectSingedInfo = factory.newXMLObject(xmlObjSignedInfo,
                        null, null, null);
              XMLObject objectQualifyingProperty = factory.newXMLObject(
                        xmlObjQualifyingProperty, null, null, null);
              // Create the ds:object tags
              List<XMLObject> objects = new ArrayList<XMLObject>();
              objects.add(objectSingedInfo);
              objects.add(objectQualifyingProperty);
              XMLSignature signature = factory.newXMLSignature(signedInfo, keyInfo,
                        objects, "cXMLSignature", null);
              DOMSignContext signContext = new DOMSignContext(keyPair.getPrivate(),
                        cxmlElement);
              signContext.putNamespacePrefix(XMLSignature.XMLNS, "ds");
              try {
                   signature.sign(signContext);
              } catch (MarshalException e) {
                   throw new RuntimeException(e);
              } catch (XMLSignatureException e) {
                   throw new RuntimeException(e);
         private Element createElement(Element element, String tag, String prefix,
                   String nsURI) {
              String qName = prefix == null ? tag : prefix + ":" + tag;
              return element.getOwnerDocument().createElementNS(nsURI, qName);
         X509Certificate getSigningCert() {
              return signingCert;
         private static String readFileAsString(String filePath)     throws java.io.IOException
              byte[] buffer = new byte[(int) new File(filePath).length()];
              BufferedInputStream f = null;
              try {
                   f = new BufferedInputStream(new FileInputStream(filePath));
                   f.read(buffer);
              } finally {
                   if (f != null) {
                        try {
                             f.close();
                        } catch (IOException ignored) {
              return new String(buffer);
         public static void main(String args[])
              System.out.println("start");
              CXMLDigitalSig cXMLDigitalSig = new CXMLDigitalSig();
              try
                   cXMLDigitalSig.loadCert();
                      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
                      dbf.setNamespaceAware(true);
                   String cXML = readFileAsString("C:\\cxmlsign\\cxml.xml");
                      Document cxmlDocument = dbf.newDocumentBuilder()
                                                 .parse(new ByteArrayInputStream(cXML
                                                           .getBytes("UTF-8")));
                   System.out.println(cxmlDocument.getDocumentElement().getTagName());
                      cXMLDigitalSig.sign(cxmlDocument.getDocumentElement(), "55");
              catch(Exception e)
                   //System.out.println(e.getMessage());
                   System.out.println(getStackTrace(e));
                 System.out.println("end");
           public static String getStackTrace(Throwable aThrowable) {
                  final Writer result = new StringWriter();
                  final PrintWriter printWriter = new PrintWriter(result);
                  aThrowable.printStackTrace(printWriter);
                  return result.toString();
    }Edited by: sabre150 on Jan 18, 2012 1:57 PM
    Moderator action : added [ code ] tags to format source code

  • Cannot remove current currency

    88 PL14
    No Transactions in system (New System).
    Changing the currencies in the system.
    1. Added new currencies
    2. Change all Account Currencies to All Currencies.
    3. Change all business partner currencies to the new currency code.
    4. Change Local and system currency to new currency.
    5. Remove old currencies.
    Error:  When trying to remove the original local and system currency, I get an error: Cannot remove current currency
    Business Partners and accounts are changed to the new currency.
    Rebooted and tryed again.  Same error.
    Rebooted, created new superuser and tried again.  Same error.
    Created a test database based off this database, created transactions with no problems.  The new local currency code is being used.  Ran trial balance to verify.
    Is there any where else in the system that attaches itself to the currency?

    There were draft purchase orders created.  Removed the draft purchase orders.  Then the currency could be deleted.
    How I found the tables with 'USD':
    1. Created a stored procedure to search all columns in all tables of the database using the following
              http://vyaskn.tripod.com/search_all_columns_in_all_tables.htm (SQL7/SQL2000 query but works in SQL2008)
    2. Execute the stored procedure EXEC SearchAllTables 'USD' to search all tables and columns for USD
    3. Looked up tables in SDK help
    4. Found there were draft purchase orders, in Business One:
            Purchasing A/P -> Purchasing Reports -> Document Draft Report
            Right click each row and select remove
    5. With all drafts removed, opened the currency table and was able to remove the currency.
    Looks like I am going to have to get after somebody for testing on the wrong database.

  • ERROR --  Cannot import distribution provisioning profile

    I get an Internal Error and my Xcode crashes when I try to import my distribution provisioning profile.
    Here's the message:
    Internal Error
    Cannot remove an observer <XCRemoteIPhone 0x25ebb00> for the key path "installed" from <XCRemoteIPhoneProvisioningProfile 0x2f75180> because it is not registered as an observer.
    Stack Backtrace:
    The stack backtrace has been logged to the console.
    ======
    Any suggestions?
    Please help! Thank you so much for your time.. I've gotten so frustrated with this whole process.

    Try using iTunes to import instead. I prefer that because XCode seems to rename the provisions to something cryptic AsdfjAOSDfasdopvAMVDO.mobileprovision whereas iTunes keeps the filename unmodified YourProfileName.mobileprovision. Then if you're browsing the directory to remove a provision you know which one you're removing instead of a confusing filename.
    You can test your distribution builds by generating an Ad-Hoc profile which lets you install your distribution app on devices.

  • While Checking In " Cannot remove record because it has links"

    Hi All,
    We have an scenario while checking In MDM records in Data manager showing the following error " Cannot remove record because it has links".
    There are 2 main tables Table A and B, both are look up main to each other.
    Record 1 from Table A is linked with 5 records in Table B and one of the record from Table B is linked to Record 1 of Table A
    All the Records from Table B is checked In. Now am Check-out Record 1 from Table A and trying to Check-In back, while performing the same am getting the following error  " Cannot remove record because it has links".
    Is this work as per the Look up main design or am I missing anything. Help appreciated.
    thanks,
    <ar>

    Hi Alex,
    Before removing record you need to remove links for those records. By this I mean you must have a field in Table A which is lookup to Table B and vice-versa. So firstly delete this field value which is a sort of relationship between these two tables and afterward only try to delete/remove record.
    Regards,
    Mandeep Saini

  • Cannot remove a record created by the system

    dear experts, i m facing error  " Cannot remove a record created by the system]" while deleting tax group.
    regards
    awais

    That is system functionality in SP01, there is an input & an output code that you now cannot delete

  • Trying to install final cut express keep getting error message "FCE" can't install on this disk.  A newer version of this software already exists on this disk.  Have remove all FCE elements with no success.

    Keep getting error message "FCE" can't install on this disk.  A newer version of this software already exists on this disk.  Have remove all FCE elements with no success.

    http://www.digitalrebellion.com/fcsremover/

  • Any know how to help with PS Elements ERROR Cannot complete your request because of a program error?

    I just opened PhotoShop Elements 12 and tried saving a file and keep getting the ERROR: Cannot complete your request because of a program error. I cannot save a single file One person said hold SHIFT key while PS was loading and Click Yes about the 3rd party plugins. This did NOT solve the issue. Please any help would be much appreciated!

    That's a well known bug on MacOS 10.10. Apple is aware of it, and working on a solution.

  • Error message: cannot remove older versions of apple software update

    I recently got a 30 gb ipod, and i cant install itunes 7. I originally tried installing it at first, and it said cannot remove older applications of Apple Software Update. So i installed itunes 4 to put music on my ipod. Then i tried again to install itunes 7 and i keep getting the same error message. Anyone else having this problem? Can anyone give me some suggestions please?

    I would first try and remove both iTunes and Quicktime prior to doing the install of iTunes. The following link will show you how to remove both programs. Make sure you do Step 16 as it is usually Quicktime that causes problems with the upgrade.
    http://docs.info.apple.com/article.html?artnum=93698
    If it will not let you remove the programs, you can try using the Windows Installer Cleanup Utility. The download is about 1/4 of the way down the page. Good luck.
    http://support.microsoft.com/default.aspx?scid=kb;en-us;290301

  • Xmlreader schema validation error: Cannot find the declaration of element

    I have multiple schemas with namespaces but I would like to validate an xml document without namespaces. The schemas all have elementFormDefault="unqualified" in the root element.
    I am encountering error below in my validation using xmlreader:
    ERROR:
    Cannot find the declaration of element 'NewTradenetDeclaration'.
    my code is:
    xmlReader = XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
    xmlReader.setFeature(VALIDATION_FEATURE_ID, true);
    xmlReader.setFeature(SCHEMA_VALIDATION_FEATURE_ID, true);
    xmlReader.setFeature(SCHEMA_FULL_CHECKING_FEATURE_ID, true);
    xmlReader.setFeature(SCHEMA_NAMESPACE_FEATURE_ID, true);
    xmlReader.setProperty(JAXP_SCHEMA_LANGUAGE, XMLConstants.W3C_XML_SCHEMA_NS_URI);
    String schemaURI = "NewTradenetDeclaration.xsd";
    // ive tried all of the ff but throws the same error
    //xmlReader.setProperty(EXTERNAL_SCHEMA_LOCATION, "urn:crimsonlogic:tn:schema:xsd:NewTradenetDeclaration NewTradenetDeclaration.xsd");
    //xmlReader.setProperty(EXTERNAL_SCHEMA_LOCATION, schemaURI);
    xmlReader.setProperty(JAXP_SCHEMA_SOURCE, schemaURI);
    // set entity resolver to resolve xsd locations
    MyResolver resolver = new MyResolver();
    xmlReader.setEntityResolver(resolver);the entity resolver has:
    public InputSource resolveEntity (String publicId, String systemId) {
      String filename =  "c:/workspace/TXParser/schema/"+ systemId.substring(systemId.lastIndexOf("/")+1);
      File f = new File(filename);
      InputSource source = null;
      try {
        source = new InputSource(new FileReader(f));
      } catch(Exception e) {
      System.out.println("InputSource exception: " + e.getMessage());                 
      return source;
    }Help please. Thanks.

    I fight with the same error, it is curious that the schema from schemaLocation can not be validated. If i set the schema manually through an attribute it works. What i try to do is overwriting the resolveEntity in the handler to get the schema from another location and validate the xml against the schema specified in the attribute schemaLocation rather than setting it manually :-(

Maybe you are looking for