RSS valid/invalid?

Hey, I'm new to RSS and Podcasting. I've started a podcast, and I have a feed at http://www.rsspect.com/rss/pdmk.xml. When I try to subscribe to that feed in iTunes, it tells me that the feed is invalid. The feed looks valid to me, and I emailed RSSPect for help, and they said it looks valid to them too. Can anyone help? Here's my feed thus far:
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/css" href="http://www.rsspect.com/css/generic.css"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
<channel>
<title>PlusDrewMinusKelly</title>
<link>http://www.plusdrewminuskelly.com</link>
<language>en-us</language>
<copyright>Andy Goergen</copyright>
<itunes:explicit>no</itunes:explicit>
<itunes:subtitle>Inane and Geeky</itunes:subtitle>
<itunes:author>Andy Goergen</itunes:author>
<itunes:summary>A show about PlusDrew, MinusKelly, and the crap that entertains them.</itunes:summary>
<description>A show about PlusDrew, MinusKelly, and the crap that entertains them.</description>
<itunes:owner>
<itunes:name>Andy Goergen</itunes:name>
<itunes:email>[email protected]</itunes:email>
</itunes:owner>
<itunes:image href="http://www.plusdrewminuskelly.com/pdmklogo.gif" />
<itunes:category text="Arts &amp; Entertainment">
<itunes:category text="Entertainment" />
</itunes:category>
<itunes:category text="Movies &amp; Television" />
<itunes:category text="Technology" />
<item>
<title>PlusDrewMinusKelly</title>
<itunes:author>PlusDrew, Kelly</itunes:author>
<itunes:subtitle>Episode 2</itunes:subtitle>
<itunes:summary>We return for another show! They say that the second show is better than the first. Agree? Maybe not. Anyways, in this show, we talk about our trip to St. Louis for a Sufjan Stevens show, and we discuss the opening to the third season of The Office. This show contains a few spoilers if you�re not all caught up with The Ofice. As always, feel free to mail us feedback, or leave an audio message on the shoutbox to the right.</itunes:summary>
<enclosure url="http://www.plusdrewminuskelly.com/files/pdmk2.mp3" length="24776" type="audio/mpeg" />
<guid>http://www.plusdrewminuskelly.com/files/pdmk2.mp3</guid>
<pubDate>Thu, 05 Oct 2006 08:32:05 -0700</pubDate>
<itunes:duration>26:25</itunes:duration>
<itunes:keywords>television, music, movies, geeky</itunes:keywords>
<itunes:explicit>no</itunes:explicit>
</item>
<item>
<title>PlusDrewMinusKelly</title>
<itunes:author>PlusDrew, Kelly</itunes:author>
<itunes:subtitle>Episode 1</itunes:subtitle>
<itunes:summary>In the first edition of PlusDrewMinusKelly, we talk about our recent trip back to our college campus for a football game, we give a brief introduction to who we are, and we briefly talk about TV Shows that should be on DVD. </itunes:summary>
<enclosure url="http://www.plusdrewminuskelly.com/files/pdmk1.mp3" length="24711" type="audio/mpeg" />
<guid>http://www.plusdrewminuskelly.com/files/pdmk1.mp3</guid>
<pubDate>Thu, 05 Oct 2006 08:22:40 -0700</pubDate>
<itunes:duration>25:22</itunes:duration>
<itunes:keywords>movies, television, music, geeky</itunes:keywords>
<itunes:explicit>no</itunes:explicit>
</item>
</channel></rss>

http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fwww.rsspect.com%2Frss%2Fpdmk .xml
Warning
This feed is valid, but may cause problems for some users. We recommend fixing these problems.
line 17, column 0: Arts & Entertainment is an obsolete iTunes category or sub-category [help]
<itunes:category text="Arts &amp; Entertainment">
line 18, column 0: Entertainment is an obsolete iTunes category or sub-category [help]
<itunes:category text="Entertainment" />
line 20, column 0: Movies & Television is an obsolete iTunes category or sub-category [help]
<itunes:category text="Movies &amp; Television" />

Similar Messages

  • Where to maintain Attribute of the results record (Valid, Invalid,....)

    Dear Guru
    Where to maintain Attribute of the results record (Valid, Invalid,....)
    <  The true value is less or equal to; valid  result
    >  The true value is greater or equal to; valid  result
    my requrement is when i record the result system shows <=  value is less or equal to in specification (e.g. <= 5.0%), but client requirement is only "< value is less" (e.g. < 5.0%)to be display.
    Please help.
    Thanks in advance
    Yuvraj Dhotre....

    Hi then based on the no of decimal places you can define the limit like for decimal places 3 your upper limit will be 4.999
    And if it is lower limit the it is 5.001
    regards,
    Smruti

  • How to find the status of package (valid/invalid) was at a particular time

    How to find the status of package (valid/invalid) was at a particular time ?
    I want to find the status of one oracle package at 3pm yesterday. The status of this package today is INVALID.
    I am sure it was VALID yesterday. But no way to prove it. Can any one help please???
    I can generate AWR report for last 7 days...

    Try using a flashback query, like this:
    select object_name, object_type, status
    from dba_objects AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '18' HOUR)  -- 18 hours ago
    where object_name = 'MY_OBJECT'
    ;if you haven't granted FLASHBACK privs, you may need to connect as SYS to do a flashback query on a data dictionary table.
    But this should give you the info you need - if it's still in undo.

  • Tilde (~) in URL for RSS is invalid!

    I'm trying to get an RSS feed from a URL that includes a tilde (~) character, but the RSS widget in iWeb 3.0 complains with the error:
    "The URL you entered is invalid. Check the feed address, and then try again."
    I've tried replacing the tilde character with "%7e" which generates a different error:
    "The RSS feed source can't be reached. Try again later."
    This makes me suspect the problem is the tilde in the URL, yet I have no problem with this URL in safari when reading the RSS there, or in other tools. Does anyone know how to get around this?
    Cappuccinofreak

    On checking the RFC 3986 spec, the tilde character appears valid:
    "Characters that are allowed in a URI but do not have a reserved purpose are called unreserved. These include uppercase and lowercase letters, decimal digits, hyphen, period, underscore, and tilde."
    Likewise, checking the W3C pages, they also concur, and refer to that RFC - see http://labs.apache.org/webarch/uri/rfc/rfc3986.html
    I've not been able to find out where it says that tilde is not a valid character, so as far as I can tell, Apple have it wrong. Also, they are disenfranchising the huge academic market that makes up much of their consumer base. Sites such as universities have had tilde characters for years, to deference the user name to the user's public_html directory. I've had a tilde character in the url of my (various) university home pages for more than 10 years now, and find I rarely have a choice in the matter.
    I've tried replacing the tilde character in my RSS feed url with %7E but that didn't work either (despite the fact that both %7E and ~ work for Safari, and other tools)...

  • RSS feed: Invalid XML

    Hello everyone.
    I want to submit my podcast to iTunes, but I have a problem with the XML file.
    Feed Validator said to me:
    Sorry
    This feed does not validate.
    line 1, column 0: XML parsing error: <unknown>:1:0: not well-formed (invalid token) [help]{\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharset ...
    Source: http://*********/RSS.xml
    {\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharset0 Verdana;}{\f1\fnil\fcharset0 Calibri;}}
    {\colortbl ;\red68\green68\blue68;}
    For more details, here is the XML file.
    I really hope you guys well be able to help me.

    You appear to have created your feed in a word processing program: it's full of formatting codes such as \par, and the opening couple of lines are full of garbage: the required xml declaration is missing.
    This page includes a sample basic feed so you can see what one should look like: your feed must be plain text.
    http://rfwilmut.net/pc

  • Looking for Regex library to generate valid/invalid String

    Hi-
    My project use MDA (domain object are specified from an XML file) and we generate the domain, transfer object, DAO, services and controllers, flex controller, flex services and flex .as files.
    Now we want to generate the Unit Test Case. Of course, we can't cover everything. What we can cover is most domain fields validation, such as length, max value, min value and perhaps regex matching.
    So, what I'm looking for is a library that allow me to generate a valid and invalid String based on a given Regex pattern. So far, I have found Google Xeger, which only allow me to generate valid String based on the Regex pattern. I'm also looking for a library that will allow me tpo generate invalid String for a given regex.
    Anyone know of such library. I really don't want to parse the Regex to come up with an invalid String (as I am not strong in Regex).

    T.PD wrote:
    915826 wrote:
    My project use MDA (domain object are specified from an XML file) and we generate the domain, transfer object, DAO, services and controllers, flex controller, flex services and flex .as files.
    Now we want to generate the Unit Test Case. What do you think you're going to check with a <b>generated UnitTest</b>?
    The only thing you can check is the that your Code Generator generates a bunch of Classes (the Tests) the same way like another bunch of Classes (the production code). So unless you wrote the Code Generator: What does a generated Test tell you about the corerectness of your Domain Model?
    IMHO generated tests are nothing more than a placebo...
    bye
    TPDYou are correct, but it probably doesn't matter. Plenty of people create (or in this wacky case: generate) unit tests because it is company policy that unit tests are there, not because you write them to support your development efforts.
    Example: the company I work for has a whole legion of "PL/SQL developers". In other words: people who write endless amounts of SQL procedures. Company policy goes in effect: all code should be covered by unit tests. Result: unit tests that insert a record and then check if the record is inserted. Unit test that updates a record and then checks if the record is updated. I try to explain to such people: you can be pretty sure the database works, you don't need to unit test it. Blank stares.

  • Pod approved but no episode RSS valid

    I was approved on 2/3/2014 but the episode has still not posted on the page.
    http://deadashellhp.libsyn.com/rss
    Feed Validator shows no issues, nothing has changed since iTunes tested and approved, I did enter the correct iTunes ID on the libsyn page, and it is working like a charm on Stitcher and on Wordpress. I thought patience would pay off, but so far, no joy on the web or in the iTunes store.
    https://itunes.apple.com/us/podcast/deadashellhps-podcast/id811277579
    Although the page is working, there should be one episode.
    http://deadashellhp.libsyn.com/webpage
    Advice appreciated.

    Your feed looks good and all works fine when subscribing.
    iTunes does not always update quickly.  Sadly the only advice is to just wait a bit more.
    I did not see any issues in your feed or anything that needed updating.
    If the episode does not show up by EOD Monday let us know.
    Rob W
    libsyn

  • BIS validating/invalidating gmail

    I've got a number of email accounts that use gmail to host. I've been trying to set these up through BIS, but every time they validate, five minutes later I get a message saying that the account has been invalidated and I must re-validate. I do so and the email setup program says that the email address has been validated and then five minutes later.... I have no problems setting up email not located on gmail's servers. All my accounts were set on IMAP a long time ago because I access my email from multiple machines. I searched the net and found a few instances of a similar problem with gmail, but with no resolution. Does anyone have any insight into this?

    Thanks for the response. I had done that, actually, and it is a part of the process.
    I ended up calling tech support and got a solution to the problem. It turns out that the BIS connection to Gmail depends on the "All Mail" gmail label being exposed. I had it turned off because in the Apple desktop mail client leaving it exposed means having duplicates in one's inbox.
    So for you Apple users who don't like duplicates in your inbox (at least in the one that you use normally) and you want to connect your Blackberry to your gmail accounts, the solution is leave "All Mail" label exposed in gmail and when you check your email on your laptop/desktop, do it through a smart mail folder that has the condition "is not in mailbox: All Mail".

  • RSS Feed invalid

    Hi,
    please check the RSS feeds on the HTML DB, as they have errors. Check out this one http://htmldb.oracle.com/pls/otn/studio.popular.rss
    best regards
    Carsten

    Look also at the Oracle HTML DB Studio Recent Additions. It gives a nice Oracle error message:
    errm:ORA-01654: unable to extend index STUDIO.RSS_LOG_PK by 128 in tablespace FLOW_4217, sqlcode:-1654
    Success
    Herald ten Dam

  • Validating detached signature with jsr105

    Hi all.
    I need to sign a SOAP message and I need to use JSR105. I've created a message with the following code and is signed without problems. However, I can't validate the signature. As you can see the elements that contains the nodes are OMElement (specific for Axis2 SOAP server) that are an instance of Node and Element classes.
    The error I get is:
    Exception in thread "main" javax.xml.crypto.dsig.XMLSignatureException: javax.xml.crypto.URIReferenceException: com.sun.org.apache.xml.internal.security.utils.resolver.ResourceResolverException: Cannot resolve element with ID 1
         at org.jcp.xml.dsig.internal.dom.DOMReference.dereference(DOMReference.java:366)
         at org.jcp.xml.dsig.internal.dom.DOMReference.validate(DOMReference.java:318)
         at org.jcp.xml.dsig.internal.dom.DOMXMLSignature.validate(DOMXMLSignature.java:230)
         at SignedSoap.main(SignedSoap.java:272)
    Caused by: javax.xml.crypto.URIReferenceException: com.sun.org.apache.xml.internal.security.utils.resolver.ResourceResolverException: Cannot resolve element with ID 1
         at org.jcp.xml.dsig.internal.dom.DOMURIDereferencer.dereference(DOMURIDereferencer.java:84)
         at org.jcp.xml.dsig.internal.dom.DOMReference.dereference(DOMReference.java:358)
         ... 3 more
    Caused by: com.sun.org.apache.xml.internal.security.utils.resolver.ResourceResolverException: Cannot resolve element with ID 1
         at com.sun.org.apache.xml.internal.security.utils.resolver.implementations.ResolverFragment.engineResolve(Unknown Source)
         at com.sun.org.apache.xml.internal.security.utils.resolver.ResourceResolver.resolve(Unknown Source)
         at org.jcp.xml.dsig.internal.dom.DOMURIDereferencer.dereference(DOMURIDereferencer.java:77)
         ... 4 more
    javax.xml.crypto.URIReferenceException: com.sun.org.apache.xml.internal.security.utils.resolver.ResourceResolverException: Cannot resolve element with ID 1
         at org.jcp.xml.dsig.internal.dom.DOMURIDereferencer.dereference(DOMURIDereferencer.java:84)
         at org.jcp.xml.dsig.internal.dom.DOMReference.dereference(DOMReference.java:358)
         at org.jcp.xml.dsig.internal.dom.DOMReference.validate(DOMReference.java:318)
         at org.jcp.xml.dsig.internal.dom.DOMXMLSignature.validate(DOMXMLSignature.java:230)
         at SignedSoap.main(SignedSoap.java:272)
    Caused by: com.sun.org.apache.xml.internal.security.utils.resolver.ResourceResolverException: Cannot resolve element with ID 1
         at com.sun.org.apache.xml.internal.security.utils.resolver.implementations.ResolverFragment.engineResolve(Unknown Source)
         at com.sun.org.apache.xml.internal.security.utils.resolver.ResourceResolver.resolve(Unknown Source)
         at org.jcp.xml.dsig.internal.dom.DOMURIDereferencer.dereference(DOMURIDereferencer.java:77)
         ... 4 more
    My code is as follows
    import java.security.KeyPair;
    import java.security.KeyPairGenerator;
    import java.security.Provider;
    import java.security.SecureRandom;
    import java.util.Calendar;
    import java.util.Collections;
    import javax.xml.crypto.dsig.*;
    import javax.xml.crypto.dom.*;
    import javax.xml.crypto.dsig.dom.*;
    import javax.xml.crypto.dsig.keyinfo.*;
    import javax.xml.crypto.dsig.spec.C14NMethodParameterSpec;
    import javax.xml.soap.*;
    import javax.xml.parsers.*;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.sax.SAXSource;
    import javax.xml.transform.stream.*;
    import org.apache.axiom.om.OMAttribute;
    import org.apache.axiom.om.OMElement;
    import org.apache.axiom.om.OMNamespace;
    import org.apache.axiom.om.impl.dom.factory.OMDOMFactory;
    import org.apache.xmlbeans.impl.piccolo.xml.XMLStreamReader;
    import org.w3c.dom.*;
    import org.w3c.dom.Node;
    import org.xml.sax.InputSource;
    //import org.xmlsoap.schemas.soap.encoding.DateTime;
    * Construct a SOAP message, sign it and then validate the signature.
    * This implementation follows the
    * <a ref="http://www.w3.org/TR/SOAP-dsig/">
    * W3C Note on digital signatures in SOAP messages
    * </a>.
    * The validating key is included in the signature.
    * DOM Level 2 is used throughout.
    * <p>
    * The following SOAP message is signed:
    * <pre><code>
    * <?xml version="1.0" encoding="UTF-8"?>
    * <soap-env:Envelope
    * xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
    * <soap-env:Header>
    * <SOAP-SEC:Signature
    * mustUnderstand="1"
    * xmlns:SOAP-SEC="http://schemas.xmlsoap.org/soap/security/2000-12"/>
    * </soap-env:Header>
    * <soap-env:Body id="Body">
    * <m:GetLastTradePrice xmlns:m="http://wombats.ztrade.com">
    * <symbol>SUNW</symbol>
    * </m:GetLastTradePrice>
    * </soap-env:Body>
    * </soap-env:Envelope>
    * </code></pre>
    public class SignedSoap {
    private static boolean debug = false;
    public static void main(String[] args) throws Exception {
         int argc = args.length;
         if (argc == 1) {
         if (args[0].equalsIgnoreCase("-help")) {
              System.out.println("Usage: SignedSoap [-debug]");
              System.out.println(" -debug\tactivates debug messages");
              return;
         debug = args[0].equalsIgnoreCase("-debug");
         // Create the SOAP message
         OMDOMFactory omfact=new OMDOMFactory();
         //Node nodo1=fd.newDomNode(options);
         OMNamespace namespace=omfact.createOMNamespace("http://schemas.xmlsoap.org/soap/security/2000-12", "soapenv");
         OMNamespace namespace2=omfact.createOMNamespace("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd", "wsu");
         OMAttribute attr=omfact.createOMAttribute("mustUnderstand",namespace,"1");
         OMAttribute id=omfact.createOMAttribute("id",namespace,"1");
         OMAttribute id2=omfact.createOMAttribute("id",namespace,"2");
         OMElement sec=omfact.createOMElement("Security", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd","wsse");
         OMElement timestamp=omfact.createOMElement("Timestamp",namespace2);
         OMElement created=omfact.createOMElement("Created",namespace2);
         OMElement expires=omfact.createOMElement("Expires",namespace2);
         created.setText("12122007");
         expires.setText("12122008");
         timestamp.addAttribute(id);
         timestamp.addChild(created);
         timestamp.addChild(expires);
         sec.addChild(timestamp);
         System.out.println("Generating the DOM tree...");
         // Get input source
         org.w3c.dom.Node security = (Node)sec;
         //if (debug) {
         // dumpDOMDocument(root);
         // Generate a DSA key pair
         System.out.println("Generating the DSA keypair...");
         KeyPairGenerator kpg = KeyPairGenerator.getInstance("DSA");
         kpg.initialize(1024, new SecureRandom("not so random".getBytes()));
         KeyPair keypair = kpg.generateKeyPair();
    // Assemble the signature parts
         System.out.println("Preparing the signature...");
         String providerName = System.getProperty
    ("jsr105Provider", "org.jcp.xml.dsig.internal.dom.XMLDSigRI");
         XMLSignatureFactory sigFactory = XMLSignatureFactory.getInstance("DOM",
    (Provider) Class.forName(providerName).newInstance());
    Reference ref = sigFactory.newReference("#1",
         sigFactory.newDigestMethod(DigestMethod.SHA1, null));
    SignedInfo signedInfo = sigFactory.newSignedInfo(
         sigFactory.newCanonicalizationMethod(
              CanonicalizationMethod.INCLUSIVE_WITH_COMMENTS,
              (C14NMethodParameterSpec) null),
    sigFactory.newSignatureMethod(SignatureMethod.DSA_SHA1, null),
         Collections.singletonList(ref));
         KeyInfoFactory kif = sigFactory.getKeyInfoFactory();
         KeyValue kv = kif.newKeyValue(keypair.getPublic());
    KeyInfo keyInfo = kif.newKeyInfo(Collections.singletonList(kv));
    XMLSignature sig = sigFactory.newXMLSignature(signedInfo, keyInfo);
         // Insert XML signature into DOM tree and sign
         System.out.println("Signing the SOAP message...");
         // Find where to insert signature
         Element ts = getFirstChildElement(envelope);
         DOMSignContext sigContext =
         new DOMSignContext(keypair.getPrivate(), sec);
         // Need to distinguish the Signature element in DSIG (from that in SOAP)
         sigContext.putNamespacePrefix(XMLSignature.XMLNS, "ds");
         // register Body ID attribute getNextSiblingElement(
         sigContext.setIdAttributeNS
         (ts,
         "http://schemas.xmlsoap.org/soap/security/2000-12","id");
         sig.sign(sigContext);
         if (debug) {
         dumpDOMDocument(envelope);
         // Validate the XML signature
    // Locate the signature element
         Element sigElement = getNextSiblingElement(ts);
    // Validate the signature using the public key generated above
    DOMValidateContext valContext =
         new DOMValidateContext(keypair.getPublic(), sigElement);
         // register Body ID attribute getNextSiblingElement(
         valContext.setIdAttributeNS
         (ts,
         "http://schemas.xmlsoap.org/soap/security/2000-12","id");
    boolean isValid = sig.validate(valContext);
         System.out.println("Validating the signature... " +
         (isValid ? "valid" : "invalid"));
    * Outputs DOM representation to the standard output stream.
    * @param root The DOM representation to be outputted
    private static void dumpDOMDocument(org.w3c.dom.Node root)
         throws TransformerException, TransformerConfigurationException {
         System.out.println("\n");
         // Create a new transformer object
         Transformer transformer =
         TransformerFactory.newInstance().newTransformer();
         transformer.setOutputProperty(OutputKeys.INDENT, "yes");
         // Dump the DOM representation to standard output
         transformer.transform(new DOMSource(root), new StreamResult(System.out));
         System.out.println("\n");
    * Returns the first child element of the specified node, or null if there
    * is no such element.
    * @param node the node
    * @return the first child element of the specified node, or null if there
    *     is no such element
    * @throws NullPointerException if <code>node == null</code>
    private static Element getFirstChildElement(org.w3c.dom.Node node) {
         org.w3c.dom.Node child = node.getFirstChild();
         while (child != null &&
         child.getNodeType() != org.w3c.dom.Node.ELEMENT_NODE) {
    child = child.getNextSibling();
    return (Element) child;
    * Returns the next sibling element of the specified node, or null if there
    * is no such element.
    * @param node the node
    * @return the next sibling element of the specified node, or null if there
    *     is no such element
    * @throws NullPointerException if <code>node == null</code>
    public static Element getNextSiblingElement(org.w3c.dom.Node node) {
         org.w3c.dom.Node sibling = node.getNextSibling();
         while (sibling != null &&
         sibling.getNodeType() != org.w3c.dom.Node.ELEMENT_NODE) {
    sibling = sibling.getNextSibling();
    return (Element) sibling;
    Thanks in advance

    I've done further advancemets. It seems that the element to feed the sign validator MUST be a document AND that the ID attribute has to be registered in it even if has been already located in inner elements of the message. Now my code looks as follows but I'm not validating the reference. The sign itself can validate though.
    The problem is the reference validation. Any ideas? Could it be the prefixes or namespaces? I've been making tests changing both but no luck so far.
    Thanks in advance.
    package _2006_08.sa.liberty;
    import java.security.KeyPair;
    import java.security.KeyPairGenerator;
    import java.security.Provider;
    import java.security.SecureRandom;
    import java.util.Calendar;
    import java.util.Collections;
    import java.util.Iterator;
    import javax.xml.crypto.URIDereferencer;
    import javax.xml.crypto.URIReference;
    import javax.xml.crypto.dsig.*;
    import javax.xml.crypto.dom.*;
    import javax.xml.crypto.dsig.dom.*;
    import javax.xml.crypto.dsig.keyinfo.*;
    import javax.xml.crypto.dsig.spec.C14NMethodParameterSpec;
    import javax.xml.soap.*;
    import javax.xml.parsers.*;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.sax.SAXSource;
    import javax.xml.transform.stream.*;
    import org.apache.axiom.om.OMAttribute;
    import org.apache.axiom.om.OMElement;
    import org.apache.axiom.om.OMNamespace;
    import org.apache.axiom.om.impl.dom.factory.OMDOMFactory;
    import org.apache.xmlbeans.impl.piccolo.xml.XMLStreamReader;
    import org.oasis_open.docs.wss._2004._01.oasis_200401_wss_wssecurity_secext_1_0_xsd.SecurityDocument;
    import org.w3c.dom.*;
    import org.w3c.dom.Node;
    import org.xml.sax.InputSource;
    //import org.xmlsoap.schemas.soap.encoding.DateTime;
    * Construct a SOAP message, sign it and then validate the signature.
    * This implementation follows the
    * <a ref="http://www.w3.org/TR/SOAP-dsig/">
    * W3C Note on digital signatures in SOAP messages
    * </a>.
    * The validating key is included in the signature.
    * DOM Level 2 is used throughout.
    * <p>
    * The following SOAP message is signed:
    * <pre><code>
    * <?xml version="1.0" encoding="UTF-8"?>
    * <soap-env:Envelope
    * xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
    * <soap-env:Header>
    * <SOAP-SEC:Signature
    * mustUnderstand="1"
    * xmlns:SOAP-SEC="http://schemas.xmlsoap.org/soap/security/2000-12"/>
    * </soap-env:Header>
    * <soap-env:Body id="Body">
    * <m:GetLastTradePrice xmlns:m="http://wombats.ztrade.com">
    * <symbol>SUNW</symbol>
    * </m:GetLastTradePrice>
    * </soap-env:Body>
    * </soap-env:Envelope>
    * </code></pre>
    public class SignedSoap {
    private static boolean debug = false;
    public static void main(String[] args) throws Exception {
         int argc = args.length;
         if (argc == 1) {
         if (args[0].equalsIgnoreCase("-help")) {
              System.out.println("Usage: SignedSoap [-debug]");
              System.out.println(" -debug\tactivates debug messages");
              return;
         debug = args[0].equalsIgnoreCase("-debug");
         // Create the SOAP message
         System.out.println("Creating the SOAP message...");
         SOAPMessage soapMessage = MessageFactory.newInstance().createMessage();
         SOAPPart soapPart = soapMessage.getSOAPPart();
         SOAPEnvelope soapEnvelope = soapPart.getEnvelope();
         if(soapEnvelope instanceof Source){
              System.out.println("0");
         if(soapEnvelope instanceof Node){
         System.out.println("1");
         if(soapEnvelope instanceof Element){
         System.out.println("2");
         if(soapEnvelope instanceof Document){
              System.out.println("3");
         SOAPHeader soapHeader = soapEnvelope.getHeader();
         SOAPHeaderElement headerElement = soapHeader.addHeaderElement(
    soapEnvelope.createName("Signature", "SOAP-SEC",
    "http://schemas.xmlsoap.org/soap/security/2000-12"));
         SOAPBody soapBody = soapEnvelope.getBody();
         soapBody.addAttribute(soapEnvelope.createName("id", "SOAP-SEC",
         "http://schemas.xmlsoap.org/soap/security/2000-12"), "1");
         Name bodyName =soapEnvelope.createName("GetLastTradePrice", "m",
         "http://wombats.ztrade.com");
         SOAPBodyElement gltp = soapBody.addBodyElement(bodyName);
         Name name = soapEnvelope.createName("symbol");
         SOAPElement symbol = gltp.addChildElement(name);
         symbol.addTextNode("SUNW");
         // Generate a DOM representation of the SOAP message
         OMDOMFactory omfact=new OMDOMFactory();
         //Node nodo1=fd.newDomNode(options);
         OMNamespace namespace=omfact.createOMNamespace("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd", "wsu");
         OMNamespace namespace2=omfact.createOMNamespace("http://www.w3.org/2002/12/soap-envelope", "S");
         OMAttribute attr=omfact.createOMAttribute("mustUnderstand",namespace,"1");
         OMAttribute id=omfact.createOMAttribute("Id",namespace2,"1");
         OMAttribute id2=omfact.createOMAttribute("Id",namespace2,"2");
         OMElement sec=omfact.createOMElement("Security", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd","wsse");
         OMElement timestamp=omfact.createOMElement("Timestamp",namespace);
         OMElement created=omfact.createOMElement("Created",namespace);
         OMElement expires=omfact.createOMElement("Expires",namespace);
         OMElement frame=omfact.createOMElement("Framework",namespace2);
         OMElement signa=omfact.createOMElement("Signature",namespace2);
         timestamp.declareDefaultNamespace(namespace.getNamespaceURI());
         timestamp.setNamespace(namespace);
         Calendar now=Calendar.getInstance();
         Calendar exp=Calendar.getInstance();
         exp.add(now.MINUTE, 5);
         System.out.println("test");
         created.setText("created");
         expires.setText("expires");
         System.out.println("test");
         timestamp.addAttribute(id);
         System.out.println("test");
         timestamp.addChild(created);
         timestamp.addChild(expires);
         //sec.addChild(signa);
         sec.addAttribute(id2);
         sec.addChild(timestamp);
         //sec.addChild(frame);
         //System.out.println(sec.getParent().toString());
         System.out.println("Generating the DOM tree...");
         // Get input source
         Source source = soapPart.getContent();
         if(soapPart instanceof Source){
                   System.out.println("10");
              if(soapPart instanceof Node){
              System.out.println("11");
              if(soapPart instanceof Element){
              System.out.println("12");
              if(soapPart instanceof Document){
                   System.out.println("13");
         //Source source2 = soapPart.getFirstChild();
         //System.out.println(source.toString());
              //javax.xml.stream.XMLStreamReader inSource = sec.getXMLStreamReader();
         DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
         dbf.setNamespaceAware(true);
         DocumentBuilder db = null;
         System.out.println("13");
         //synchronized (dbf) {
              db = dbf.newDocumentBuilder();
              System.out.println("13");
         Document doc = db.newDocument();
         doc.appendChild((Node)sec);
         org.w3c.dom.Node root = (org.w3c.dom.Node) doc.getDocumentElement();
         System.out.println("13");
         System.out.println("13: "+root.getFirstChild().getLocalName());
         org.w3c.dom.Node envelope = (Node)sec;//soapPart.getFirstChild();
    /* Node) sec;
         if (source instanceof DOMSource) {
         root = ((DOMSource)source).getNode();
         } else if (source instanceof SAXSource) {
         InputSource inSource = ((SAXSource)source).getInputSource();
         DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
         dbf.setNamespaceAware(true);
         DocumentBuilder db = null;
         synchronized (dbf) {
              db = dbf.newDocumentBuilder();
         Document doc = db.parse(inSource);
         root = (org.w3c.dom.Node) doc.getDocumentElement();
         } else {
         System.err.println("error: cannot convert SOAP message (" +
              source.getClass().getName() + ") into a W3C DOM tree");
         System.exit(-1);
         //if (debug) {
         // dumpDOMDocument(root);
         // Generate a DSA key pair
         System.out.println("Generating the DSA keypair...");
         KeyPairGenerator kpg = KeyPairGenerator.getInstance("DSA");
         kpg.initialize(1024, new SecureRandom("not so random".getBytes()));
         KeyPair keypair = kpg.generateKeyPair();
    // Assemble the signature parts
         System.out.println("Preparing the signature...");
         String providerName = System.getProperty
    ("jsr105Provider", "org.jcp.xml.dsig.internal.dom.XMLDSigRI");
         XMLSignatureFactory sigFactory = XMLSignatureFactory.getInstance("DOM",
    (Provider) Class.forName(providerName).newInstance());
    Reference ref = sigFactory.newReference("#1",
         sigFactory.newDigestMethod(DigestMethod.SHA1, null));
    SignedInfo signedInfo = sigFactory.newSignedInfo(
         sigFactory.newCanonicalizationMethod(
              CanonicalizationMethod.INCLUSIVE_WITH_COMMENTS,
              (C14NMethodParameterSpec) null),
    sigFactory.newSignatureMethod(SignatureMethod.DSA_SHA1, null),
         Collections.singletonList(ref));
         KeyInfoFactory kif = sigFactory.getKeyInfoFactory();
         KeyValue kv = kif.newKeyValue(keypair.getPublic());
    KeyInfo keyInfo = kif.newKeyInfo(Collections.singletonList(kv));
    XMLSignature sig = sigFactory.newXMLSignature(signedInfo, keyInfo);
         // Insert XML signature into DOM tree and sign
         System.out.println("Signing the SOAP message...");
         // Find where to insert signature
         //Element envelope = getFirstChildElement(root);
         Element header = getFirstChildElement(envelope);
         System.out.println("Signing the SOAP message...");
         //System.out.println(header.getLocalName());
         DOMSignContext sigContext =
         new DOMSignContext(keypair.getPrivate(), envelope);
         // Need to distinguish the Signature element in DSIG (from that in SOAP)
         System.out.println("Signing the SOAP message...");
         sigContext.putNamespacePrefix(XMLSignature.XMLNS, "ds");
         // register Body ID attribute getNextSiblingElement(
         sigContext.setIdAttributeNS
         (header,
                   "http://www.w3.org/2002/12/soap-envelope","Id");
         System.out.println("Signing the SOAP message...");
         sig.sign(sigContext);
         if (debug) {
         dumpDOMDocument(envelope);
         // Validate the XML signature
         String providerName2 = System.getProperty
    ("jsr105Provider", "org.jcp.xml.dsig.internal.dom.XMLDSigRI");
    XMLSignatureFactory sigFactory2 = XMLSignatureFactory.getInstance("DOM",
    (Provider) Class.forName(providerName2).newInstance());
    SecurityDocument secdoc=SecurityDocument.Factory.parse(envelope);
    System.out.println(secdoc.xmlText());
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
         dbf.setNamespaceAware(true);
         Document doc = dbf.newDocumentBuilder().parse(secdoc.newInputStream());
    // Locate the signature element
         //Element sigElement = //getFirstChildElement(header);
              //getNextSiblingElement(header);
    // Validate the signature using the public key generated above
         System.out.println(doc.getFirstChild().getLastChild().getLocalName());
         DOMValidateContext valContext = new DOMValidateContext
    (keypair.getPublic(), doc.getElementsByTagName("ds:Signature").item(0));
              valContext.setProperty("javax.xml.crypto.dsig.cacheReference", Boolean.TRUE);
              System.out.println(doc.getElementsByTagName("ds:Signature").item(0).getLocalName());
    // DOMValidateContext valContext =
         // new DOMValidateContext(keypair.getPublic(), sigElement);
         // register Body ID attribute getNextSiblingElement(
    // System.out.println(header.getNamespaceURI());
              //valContext.setIdAttributeNS((Element) doc.
                   //     getElementsByTagNameNS("wsu", "Timestamp").item
                        //(0), null, "Id");
              ((Element)doc.getElementsByTagName("wsu:Timestamp").item(0)).setAttributeNS("S", "Id", "1");
              ((Element)doc.getElementsByTagName("wsu:Timestamp").item(0)).setPrefix("wsu");
              valContext.setIdAttributeNS((Element)doc.getElementsByTagName("wsu:Timestamp").item(0),
         "http://www.w3.org/2002/12/soap-envelope","Id");
         //System.out.println(valContext.getElementById("1").getLocalName());
         //valContext.setBaseURI("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd");
         System.out.println("1");
         XMLSignature signature = sigFactory2.unmarshalXMLSignature(valContext);
         System.out.println("2: "+valContext.getDefaultNamespacePrefix());
         System.out.println(valContext.getElementById("1").getLocalName());
         //System.out.println(header.getLocalName());
         //System.out.println(getNextSiblingElement(header).getLocalName());
         //System.out.println(header.getAttribute("id"));
         //System.out.println(header.getBaseURI());
         if(signature.getSignatureValue().validate(valContext))
         System.out.println("Firma OK");
         Iterator it = signature.getSignedInfo().getReferences().iterator();
    if (((Reference) it.next()).validate(valContext))
         System.out.println("ref OK");
    boolean isValid = signature.validate(valContext);
         System.out.println("Validating the signature... " +
         (isValid ? "valid" : "invalid"));
    * Outputs DOM representation to the standard output stream.
    * @param root The DOM representation to be outputted
    private static void dumpDOMDocument(org.w3c.dom.Node root)
         throws TransformerException, TransformerConfigurationException {
         System.out.println("\n");
         // Create a new transformer object
         Transformer transformer =
         TransformerFactory.newInstance().newTransformer();
         transformer.setOutputProperty(OutputKeys.INDENT, "yes");
         // Dump the DOM representation to standard output
         transformer.transform(new DOMSource(root), new StreamResult(System.out));
         System.out.println("\n");
    * Returns the first child element of the specified node, or null if there
    * is no such element.
    * @param node the node
    * @return the first child element of the specified node, or null if there
    *     is no such element
    * @throws NullPointerException if <code>node == null</code>
    private static Element getFirstChildElement(org.w3c.dom.Node node) {
         org.w3c.dom.Node child = node.getFirstChild();
         while (child != null &&
         child.getNodeType() != org.w3c.dom.Node.ELEMENT_NODE) {
    child = child.getNextSibling();
    return (Element) child;
    * Returns the next sibling element of the specified node, or null if there
    * is no such element.
    * @param node the node
    * @return the next sibling element of the specified node, or null if there
    *     is no such element
    * @throws NullPointerException if <code>node == null</code>
    public static Element getNextSiblingElement(org.w3c.dom.Node node) {
         org.w3c.dom.Node sibling = node.getNextSibling();
         while (sibling != null &&
         sibling.getNodeType() != org.w3c.dom.Node.ELEMENT_NODE) {
    sibling = sibling.getNextSibling();
    return (Element) sibling;
    }

  • Needed a list of valid tables.

    My database contains around 2000 tables some of them might not be using within the database objects(procedure,function and packages).I want to have a list of only those tables which are used by the application or more specific all the tables which are being used by the VAILID database objects.
    Is there any DB utility for this or any SQL statment for the tables being used by a specific database object.
    Pls suggest.
    Regards
    --MS.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    I am not clear with the question.If you are looking for which object is referred by which another one,you can go for DBA_Dependencies as suggested by Yas.If you are looking for the staus of the objects than dba_objects will tell the status to you for all the valid/invalid objhects.
    Aman....

  • Update from 92020 to 92030 , OLAP Catalog invalid 9.2.0.3.0

    Oracle 9.2.0.3.0 on solaris8
    1 . sys as sysdba , run the script ORACLE_HOME/olap/admin/olap.sql to install the OLAP Analytic Workspace and Oracle OLAP API , and succeed:)
    when i select comp_name , status ,version from dba_registry, it shows:
    OLAP Analytic Workspace LOADED 9.2.0.3.0
    Oracle OLAP API LOADED 9.2.0.3.0
    2. sys as sysdba , run the script ORACLE_HOME/cwmlite/admin/oneinstl.sql to install the OLAP Catalog , some views failed to created .
    3. olapsys/***** , run the script ORACLE_HOME/cwmlite/admin/cwm2awmd.sql (published by Patchset of 9.2.0.3.0) , it created the views that failed to create in step 2 .
    4. select comp_name , status ,version from dba_registry; shows:
    OLAP Analytic Workspace LOADED 9.2.0.3.0
    Oracle OLAP API LOADED 9.2.0.3.0
    Oracle Data Mining LOADED 9.2.0.1.0
    OLAP Catalog INVALID 9.2.0.3.0
    5. run the BIBEANS install cmd bi_installcatauto.bat , and bibdemo , run the bi_checkconfig using bibcat, shows:
    BI Beans Diagnostics(v1.0.0.0) 03-4-16
    ===============================================================================
    JDEV_ORACLE_HOME ............................. = E:\JDEV
    JAVA_HOME .................................... = E:\JDEV\jdk
    JDeveloper version ........................... = 9.0.3.1035 (Production)
    BI Beans version ............................. = 9.0.3.4.0
    BI Beans internal version .................... = 2.7.0.11.3
    Connect to database .......................... = Successful
    JDBC driver version .......................... = 9.2.0.3.0
    JDBC JAR file location ....................... = E:\JDEV\jdbc\lib
    Database version ............................. = 9.2.0.3.0
    OLAP Catalog version ......................... = 9.2.0.3.0
    OLAP AW Engine version ....................... = 9.2.0.3.0
    OLAP API Server version ...................... = 9.2.0.3.0
    BI Beans Catalog version ..................... = 2.7.0.11.3
    OLAP API JAR file version .................... = 9.2
    OLAP API JAR file location ................... = E:\JDEV\jdev\lib\ext
    Load OLAP API metadata ....................... = Exception occurred when calling
    OlapiBootstrap procedure
    Unsuccessful
    Error: BIB-10701 Error occurred in connection to metadata.
    any idea ? any suggestion ?
    thanks.

    OLAP CATALOG INVALID AFTER UPGRADE.
    Oracle Enterprise Edition 9.2.0.2 or 9.2.0.3
    Data Warehouse database configuration
    Oracle OLAP option
    Symptom(s)
    ~~~~~~~~~~
    OLAP Catalog shows as INVALID when querying dba_registry:
    select comp_name, version, status from dba_registry;
    Change(s)
    ~~~~~~~~~~
    Applied RDBMS 9.2.0.2 or 9.2.0.3 patch set
    Cause
    ~~~~~~~
    After installing the RDBMS 9.2.0.2/3 patch set, did you run catpatch.sql and utlrp.sql detailed in the readme? INVALID OLAP Catalog is usually a result of not running these Post Install scripts.
    Fix
    ~~~~
    Basically, you should do the following:
    -- start the Oracle Listener
    -- from SQL prompt (as SYSDBA)
    SQL> shutdown immediate
    SQL> startup migrate
    SQL> spool patch.log
    SQL> @/$Oracle_Home/rdbms/admin/catpatch.sql
    SQL> spool off
    SQL> shutdown
    SQL> startup
    SQL> @/$Oracle_Home/rdbms/admin/utlrp.sql
    SQL> select comp_name, version, status from dba_registry;
    Symptom(s)
    ~~~~~~~~~~
    OLAP Catalog shows as INVALID when querying dba_registry:
    select comp_name, version, status from dba_registry;
    Change(s)
    ~~~~~~~~~~
    Applied RDBMS 9.2.0.2/3 patch set and ran catpatch.sql & utlrp.sql
    Cause
    ~~~~~~~
    Appears to happen when there is existing data in the OLAP Catalogs prior to applying the 9.2.0.2 patch set.
    Another cause is that the Oracle Listener is not up and running when catpatch.sql was ran.
    Fix
    ~~~~
    1. Run the OLAP validate procedure:
    a. startup the Oracle Listener
    b. connect to SQL*Plus as OLAPSYS and execute:
    SQL> execute olapsys.cwm2_olap_installer.Validate_CWM2_Install;
    SQL> execute cwm2_olap_metadata_refresh.mr_refresh;
    c. verify if OLAP Catalog is VALID.
    SQL> select comp_name, version, status from dba_registry;
    2. If OLAP Catalog is still INVALID, in OEM compile the INVALID package bodies:
    a. Start OEM
    b. Connect to the database as OLAPSYS
    c. Drill down on Schema -> OLAPSYS -> Source Types
    d. Highlight Packages Bodies
    e. In the right frame you will see which ones are valid / invalid
    f. Right click on any that are invalid and select compile
    g. verify that the packages are valid by highlighting Packages and checking the status
    h. if any Packages are invalid repeat the same steps to compile.

  • Validation must pass twice to clear errorColor?

    I am using an external CSS file to style my app. In it I specify a custom errorColor property for TextInput controls.
    This StringValidator is placed on a TextInput:
    <mx:StringValidator id="validatorUserName"
            source="{textinputUserName}"
            property="text"
            required="true"
            minLength="4" maxLength="25" 
            tooShortError="Your username must be at least 4 characters long."
            tooLongError="Your username must be less than 25 characters long."
            trigger="{textinputUserName}" triggerEvent="valueCommit"
            valid="formatControlErrorStatus(textinputUserName,0)"
            invalid="formatControlErrorStatus(textinputUserName,1)"/>
    The StringValidator's valid and invalid events call a function to carry out further commands. I want the invalid field to be very boldy marked, so I have the function thicken its border and set the background color to orange. Once it validates, then it returns the control's formatting to the default.
    public function formatControlErrorStatus(theControl:Object,isError:Number):void
        {//valid/invalid trigger must pass name of target control and 0 for no error, 1 for error
        if(isError==1)
            theControl.setStyle("borderColor","#FF4B00");
            theControl.setStyle("borderThickness",2);
            theControl.setStyle("backgroundColor","#FF4B00");
            theControl.setStyle("backgroundAlpha",.4);
        else if (isError==0)
            theControl.setStyle("borderColor","#7D6441");
            theControl.setStyle("borderThickness",1);
            theControl.setStyle("backgroundColor","#FFFFFF");
            theControl.setStyle("backgroundAlpha",.75);
    Here is the problem: When the StringValidator's "valid" event is fired, the code in formatControlErrorStatus is completed successfully, but the border of the TextInput remains the errorColor color rather than returning to its default color.  If I go into the field and exit it again without changing the value, then the errorColor border disappears and is replaced properly with the standard border. Why would the field have to pass validation twice to reset the border color?

    Hi there,
    I've also encountered this hard to explain behaviour with Flex validators.
    One line fix would be to call
    validatorUserName.validateProperties()
    at the end  of the method "formatControlErrorStatus"
    I was curious, why this extra call is needed, thus I've described my findings at my blog http://www.jabbypanda.com/blog/?p=54
    (the reading requires knowledge of validation/invalidation mechanism in Flex http://frishy.blogspot.com/2007/10/validationinvalidation-mechanism.html)

  • Sneak Preview Licensing Validtiy showing "Invalid"

    Hi all,
      I have installed EP sneak preview Stack 4, WAS SP7,  few days back.
      Now when I try to create new users, and when I log in using that userid, the licensing screen is shown.
    And it says the Licence Validity - Invalid.
    what could be the problem? and is there any solution
    other than reinstalling.
    I could login using the default administrator/admin account. I check the Portal Licensing in System Administration and it shows the following values.
    System ID Hardware Key SW Product SW Product Limit Expiration Date License Type Installation No. System No. Validity  
    P66 B0359063485 J2EE-Engine_MSS Unlimited 26/Mar/2005 Temporary 0000000000 000000000000000000 Invalid
    regs
    Anoop

    Hi,
    Save WSDL localy (<i>Open WSDL URL in browser, View->Source, File->SaveAs</i>) and open local file in Model dialog again. It should work.
    If you are using locally saved wsdl and still getting the error then that would mean your wsdl is not in the right format. Try using some validation tools.
    Bala

  • Confusing documentation for Validation Select widget

    On the website
    http://livedocs.adobe.com/en_US/Spry/1.4/index.html
    there's a page titled "Validation Select widget overview and
    structure." The article is confusing because the example is a
    pull-down menu of states, e.g., Alabama, Alaska, etc. But then
    "states" also means valid, invalid, required value, etc. This
    double meaning makes the documentation difficult to understand. The
    documentation should use an example of, for example, cities or
    countries.
    Also this widget has name different names. In Dreamweaver
    it's called "Spry Select." But on
    http://livedocs.adobe.com/en_US/Spry/1.4/index.html
    it's called "Validation Select." Both names are misleading, it
    should be called "Pull-Down Menu Validation."

    Hi Daniel,
    Im having the same problem, can you please tell me what you did? I understand you found the problem?
    Thank you!

Maybe you are looking for

  • How to download file from application server to local file using tcode

    Hi, I want to download one report output in application sever(/temp/xxx) to local. But downloaded excel sheet improper format. In downloaded excel sheet having one complete record(12 fields)  in one cell. I want to separate it each field in each cell

  • Adobe Illustrator CC problem

    When I attempt to open my trial version of Adobe Illustrator CC I get an appcrash error. I have the diagnostics. Any thoughts?

  • Google contact sync gets hung since 4.4.2 OTA android update

    My S4 stopped completing Google contact syncs after the last Android update. All other Google tools complete the sync (App Data, Calendar, Drive, Gmail, etc), but the little arrow circle next to Sync Contacts stops spinning and gets hung. At the bott

  • Is it possible to add bookmarks in Reader X?

    When I have long PDF's to read, I like to read some and finish later but have to search through where I had left off. Is there a way to add a bookmark that is easy to find later on? Thanks, Calvin Reader X, Windows 7, Explorer 9

  • Wi-Fi / 3G question

    Hi, when I am connected to my Wi-Fi network, which iPhone apps / operations run via Wi-Fi (free) and which via 3G (online fees!) ? I understand that the iTunes Store only runs via Wi-Fi. But Safari? Map apps? Or are all connected the fastest way (Wi-