Trying to understand a WS-I validation failure

I'm trying to understand the following WS-I validation failure message. I'm sure I'm making a basic mistake but I can't find an example of the use case where an xsd is imported. Can someone point out my error?
Thanks,
Bret
Validation failure:
Result failed:
Failure Message: A QName reference that is referring to a schema component, uses a namespace not defined in the targetNamespace attribute on the xs:schema element, or in the namespace attribute on an xs:import element within the xs:schema element.Failure Detail Message:
{http://Messages.xsd}SigReplyMessage,
{http://schemas.xmlsoap.org/wsdl/}string,
{http://Messages.xsd}SigRequestMessage
Element Location: lineNumber=8
My wsdl looks like this:
<definitions targetNamespace="urn:S3SignatureGenerator"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="urn:S3SignatureGenerator"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:messages="http://Messages.xsd">
<types>
<xsd:schema>
<xsd:import id="Messages.xsd"
schemaLocation="../../XSDDocument/Messages.xsd"
namespace="http://Messages.xsd"/>
</xsd:schema>
</types>
<message name="ReturnSignature">
<part name="SigAndExp" type="messages:SigReplyMessage"/>
</message>
<message name="RequestSignature">
<part name="Keys" type="messages:SigRequestMessage"/>
</message>
<portType name="SigGenerator">
<operation name="GetSignature">
<input message="tns:RequestSignature"/>
<output message="tns:ReturnSignature"/>
<fault name="sigFault" message="tns:SigFault"/>
</operation>
</portType>
<message name="SigFault">
<part name="faultMessage" element="string"/>
</message>
<binding name="SigGenSoapHttp" type="tns:SigGenerator">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="GetSignature">
<soap:operation soapAction="urn:S3SignatureGenerator/GetSignature"/>
<input>
<soap:body use="literal" parts="SecretKey PublicKey"/>
</input>
<output>
<soap:body use="literal" parts="Signature"/>
</output>
<fault name="sigFault">
<soap:body use="literal" parts="SecretKey PublicKey"/>
</fault>
</operation>
</binding>
<service name="SignatureGenerationService">
<port name="SigGenSoapHttpPort" binding="tns:SigGenSoapHttp">
<soap:address location="tbd"/>
</port>
</service>
</definitions>
Messages.xsd looks like this:
<?xml version="1.0" encoding="windows-1252" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.bret.org/S3test/Messages"
targetNamespace="http://www.bret.org/S3test/Messages"
elementFormDefault="qualified">
<xsd:complexType name="sigRequestMessage">
<xsd:sequence>
<xsd:element name="publicKey" type="xsd:string"/>
<xsd:element name="privateKey" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="sigReplyMessage">
<xsd:sequence>
<xsd:element name="Signature" type="xsd:string"/>
<xsd:element name="expiration" type="xsd:dateTime"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

Hi Bret,
Sorry it's taken me a bit of time to respond, but please find below a run-down of the WS-I related problems I spotted in your WSDL document. The first few are related to the import error you saw, and there's a few others that I'll also discuss. Apologies in advance if you've already spotted and corrected those.
I'll use line numbering based on the formatting of the WSDL and XSD that you supplied.
BP2417 (the one you asked about)
The line number in the error is a red herring. There are two problems here:
- WSDL document, line 29: You're using the XSD type string unqualified - it should be xsd:string.
- WSDL document, lines 8 and 13; schema, lines 3 and 4: The namespaces you're using don't match. Either change the namespaces in the schema to be http://Messages.xsd, or change the namespaces in the WSDL to http://www.bret.org/S3test/Messages.
BP2202
You should declare UTF-8 or UTF-16 encoding when creating WSDL or schema documents. The easiest way to do this is to go to Tools|Preferences, and set JDeveloper's default encoding to either UTF-8 or UTF-16.
BP2032
WSDL document, line 26 and 43: The name attribute of the fault should read SigFault, not sigFault, as WSDL is case-sensitive.
WSDL document, line 44: You should use a soap:fault element, not a soap:body element, to bind a fault, thus:
<soap:fault name="SigFault" use="literal"/>
BP2012
WSDL document, lines 17 and 20: Message parts in a document-bound service like this one should reference XSD elements and not complexTypes. What you need to do is define two elements in your messages schema whose types are SigReplyMessage and SigRequestMessage respectively, and then reference those elements from the WSDL.
WSDL document, line 38: The value of the parts attribute should be Keys to match the name of the part child of the RequestSignature.
WSDL document, line 41: The value of the parts attribute should be SigAndExp to match the name of the part child of the ReturnSignature.
WSDL document, line 44: The value of the parts attribute should be faultMessage to match the name of the part child of the SigFault.
BP2115
WSDL document, lines 17 and 20: The names of the elements should be sigReplyMessage and sigRequestMessage and not SigReplyMessage and SigRequestMessage, again because WSDL is case-sensitive.
WSDL document, line 30: The element attribute of the part references xsd:string, which is not an element but a complexType. You'll need to add an element declaration to your schema, which is of type xsd:string.
I've included corrected versions of your WSDL and schema below, I hope this helps. I also note you've posted a few other messages related to WS-I and WSDL, I hope I've managed to cover those in this message too.
Regards,
Alan.
WSDL:
<?xml version="1.0" encoding="UTF-8" ?>
<definitions targetNamespace="urn:S3SignatureGenerator"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="urn:S3SignatureGenerator"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:messages="http://Messages.xsd">
<types>
<xsd:schema>
<xsd:import id="Messages.xsd"
schemaLocation="Messages.xsd"
namespace="http://Messages.xsd"/>
</xsd:schema>
</types>
<message name="ReturnSignature">
<part name="SigAndExp" element="messages:sigReplyMessage"/>
</message>
<message name="RequestSignature">
<part name="Keys" element="messages:sigRequestMessage"/>
</message>
<message name="SigFault">
<part name="faultMessage" element="messages:faultMessage"/>
</message>
<portType name="SigGenerator">
<operation name="GetSignature">
<input message="tns:RequestSignature"/>
<output message="tns:ReturnSignature"/>
<fault name="SigFault" message="tns:SigFault"/>
</operation>
</portType>
<binding name="SigGenSoapHttp" type="tns:SigGenerator">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="GetSignature">
<soap:operation soapAction="urn:S3SignatureGenerator/GetSignature"/>
<input>
<soap:body use="literal" parts="Keys"/>
</input>
<output>
<soap:body use="literal" parts="SigAndExp"/>
</output>
<fault name="SigFault">
<soap:fault name="SigFault" use="literal"/>
</fault>
</operation>
</binding>
<service name="SignatureGenerationService">
<port name="SigGenSoapHttpPort" binding="tns:SigGenSoapHttp">
<soap:address location="tbd"/>
</port>
</service>
</definitions>
Schema:
<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://Messages.xsd"
targetNamespace="http://Messages.xsd"
elementFormDefault="qualified">
<xsd:element name="sigRequestMessage">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="publicKey" type="xsd:string"/>
<xsd:element name="privateKey" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="sigReplyMessage">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Signature" type="xsd:string"/>
<xsd:element name="expiration" type="xsd:dateTime"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="faultMessage" type="xsd:string"/>
</xsd:schema>

Similar Messages

  • ORA-29024: Certificate validation failure when trying to redirect to https

    Hi, I was trying to redirect the page to another https website using utl_http.request,
    I configured Oracle wallet and import the certificate, and successfully to get the webpage content in sqlplus by
    select utl_http.request('https://<website>,null,<wallet>,<wallet password>) from dual,
    but when I trying to use the same way in a button process of Apex, the error ORA-29024: Certificate validation failure prompt.
    Anyone know what wrong with it?
    Thanks
    Vincent Pek

    Hi, Sorry, I found that after i reboot my laptop , it's working now.

  • During an update of the applications on the BlackBerry smartphone an error message may be displayed "BlackBerry Desktop Software failed to validate your BlackBerry device update - Aborting install due to validation failure. Some packages contained unsatis

    I have reset both my torch and playbook back to original only thing that I kept was my contact. And still problems I am a few min away from leave my loved blackberry and going android !! Or heaven help us Phone
    Issues 1) playbook wont connect to desktop manager anymore 
    2) Play book has 2 calendar icons with two different settings on them ??? I have one that is currently working with my yahoo email and calendar account. 
    3) my Phone when connected to desk top software shows the calendar as read only
    4) Unable to update my phone says During an update of the applications on the BlackBerry® smartphone an error message may be displayed "BlackBerry Desktop Software failed to validate your BlackBerry device update - Aborting install due to validation failure. Some packages contained unsatisfactory dependencies." 
    I just want my email and Calendars to work I am tried of spending nights trying to get these deices working !!! 
    someone please help me. !! 
    I know you are going to ask I have updated everything last time and it is all as update as it can get. 
    As for now as I wait I am going to wipe my phone again and just set everything up again !! If I have to even my contacts AHHHH Help I am starting to think crazy thoughts 

    Did you try to eboot the your PC or laptop where your device is connected ?
    I experienced this with my windows laptop, after a failed to do an update, I restart the laptop and my Torch, then retried, and it's worked

  • Trying to understand Transferable

    Hello, I'm trying to write a drag-and-drop file uploading applet and am thus trying to understand the Transferable interface. I found some very clear source but no clear explanation of one point. I'm sure this information is commonly available; I apologize for being unable to find it and would appreciate a link.
    Running this code :
    public boolean importData(JComponent src, Transferable transferable) {
    println("Receiving data from " + src);
    println("Transferable object is: " + transferable);
    println("Valid data flavors: ");
    DataFlavor[] flavors = transferable.getTransferDataFlavors();
    DataFlavor listFlavor = null;
    DataFlavor objectFlavor = null;
    DataFlavor readerFlavor = null;
    int lastFlavor = flavors.length - 1;
    // Check the flavors and see if we find one we like.
    // If we do, save it.
    for (int f = 0; f <= lastFlavor; f++) {
    println(" " + flavors[f]);
    if (flavors[f].isFlavorJavaFileListType()) {
    listFlavor = flavors[f];
    if (flavors[f].isFlavorSerializedObjectType()) {
    objectFlavor = flavors[f];
    if (flavors[f].isRepresentationClassReader()) {
    readerFlavor = flavors[f];
    // Ok, now try to display the content of the drop.
    try {
    DataFlavor bestTextFlavor = DataFlavor.selectBestTextFlavor(flavors);
    BufferedReader br = null;
    String line = null;
    if (bestTextFlavor != null) {
    println("Best text flavor: " + bestTextFlavor.getMimeType());
    println("Content:");
    Reader r = bestTextFlavor.getReaderForText(transferable);
    br = new BufferedReader(r);
    line = br.readLine();
    while (line != null) {
    println(line);
    line = br.readLine();
    br.close();
    else if (listFlavor != null) {
    java.util.List list = (java.util.List)transferable.getTransferData(listFlavor);
    println( list + " Size " + list.size());
    else if (objectFlavor != null) {
    println("Data is a java object:\n" + transferable.getTransferData(objectFlavor));
    else if (readerFlavor != null) {
    println("Data is an InputStream:");
    br = new BufferedReader((Reader)transferable.getTransferData(readerFlavor));
    line = br.readLine();
    while (line != null) {
    println(line);
    br.close();
    else {
    // Don't know this flavor type yet...
    println("No text representation to show.");
    println("\n\n");
    catch (Exception e) {
    println("Caught exception decoding transfer:");
    println(e);
    return false;
    return true;
    which you'll agree is very clear, returns me a List of filepaths when I drop files on it. Perhaps naively, I was hoping to get the data itself.
    Obviously I can go the route of messing with security settings to allow the applet to open files (eeew) but I'm hoping the actual data is available from Transferable and I'm simply not understanding how to do it.
    Thanks for any tips.

    And don't forget to check this link:
    http://www.javaworld.com/jw-03-1999/dragndrop/jw-03-dragndrop.zip
    I think with few modifications you can get what you want.

  • Trying to understand hashCode( )

    Hello again, I'm trying to understand the hashCode( ) method. I have a textbook which describes it this way:
    "A hashcode is a value that uniquely identifies an individual object. For example, you could use the memory address of an object as it's hashcode if you wanted. It's used as a key in the standard java.util.Hashtable[i] class."
    Please forgive me if this emplies that I may be a bit slow with this, but this explanation is too vague for me to grasph what's going on here. Can someone thoroughly explain (in a non scientific way), how and why this method is used?
    Thanks in advance.

    I thought the examples I provided might give you an idea why the hashCode method is useful. I'll try one more brief one, and if that doesn't connect that spare wire to the light bulb over your head, then I'll have to agree with schapel and suggest that you study up on your CS theory.
    This will be a really crocked up example, and you could skirt some of the issues with better design, but it's a valid example nonetheless.
    You run a greenhouse or an arboretum or something. You've got 25,000 Tree objects (forget their subclasses for now). Trees have properties like species, name (I don't know why you'd name a tree--just bear with me), location, age, medical history. You're going to put your Trees into a java.util.Set, so you've got a collection with one reference to each tree. However, you're getting overlapping subsets of your trees from various sources--that is getAllElms() returns some trees that are also in getAllOlderThan(10). You need to combine all those results into a 1-each collection of Trees.
    When you go to add an Object to the Set, the Set has to first check if that Object is already present. The Set implementation could iterate over all its elements and call equals() to see if that Object is already there. Or, it could first get the hashCode (let's say you've implemented hashCode to return the xor of the species and the age). So, maybe 100 out of your 25,000 trees are 50 yeard old Elms. Internally, if the Set implementation keeps a mapping from hashCode to an array of Trees with that hashcode, then it only has to copmare to those 100 trees that match, rather than all 25,000.
    As I said, this is a cheezy example. One problem is that if trees are mutable, this Set implementation won't work, since the Set won't know that a Tree's internal values (and hence, possibly, its hashCode) have changed.
    Is is making any sense yet?
    Okay so please help me understand this rudimentary,
    logical reason for wanting to use a hashCode( )? Say
    I create a top level class called "Plant.java". Now
    from that class I create a subclass called Tree.java
    from which several other subclasses and objects are
    created. Help me gain a basic understanding of why
    and how the hashCode( ) method might be beneficial.
    (lol... I feel sort of like I've opened up a cool new
    electronic toy, I'm standing here with a "spare wire
    in my hand wondering what the heck this part is
    for?")
    Thanks again for your help. I really apprecitate it.

  • Trying to understand message redelivery

    Hi,
    I'm trying to understand redelivery.
    I'm using JMS to sync user data from our J2EE system with our Lotus Domino system. I want to be sure that in the advent of any failure in this the sync-ing process, a notification is sent to ensure that at least the Notes Domino stuff can be sync-ed manually by an administrator.
    So my question is how to be sure to capture and send notification of EVERY failure with the information needed to manually sync if needed?
    As I understand it, it's my responsiblity to ensure that I handle all Exceptions in the onMessage() method of our MessageListener implementation - without throwing any new Exceptions. I do this so I'm confident that things like a Notes Session not being instantiated, or a Notes document not being found are handled and notifcation sent. The result is that if an Exception occurs at this level, I handle it and as far as JMS is concerned the message was consumed and got acknowledged. Right?
    But what about messages that fail before the MessageListener is reached - presumeably a problem with the JMS provider (we're using WebLogic 6.1). Can I just rely on JMS to redeliver failed messages and not worry about them? Is there a recommended way to test such failure so I can be sure what happens? I tried throwing a RuntimeException in the onMessage() method, but I did not observe any attempts to resend the message and when I browsed the queue it was empty.
    So as you can you see, I'm unclear about this! Appreciate and clarifying points!
    Terrence

    You can rely on the JMS provider to take care of it's own failures. However, please note that the JMS provider can fail right after you have successfully done your work in onMessage - but before the message acknowledgement happens. This means that in case of failure, you may get the last consumed message again.
    Also note that different JMS providers will handle RuntimeException's raised from onMessage differently, so check your vendor's documentation. After a couple of re-tries, your JMS provider might for instance deem that the receiver/subscriber has a problem consuming said message and move the message into an error queue.
    - Bjarne.

  • Trying to understand daemon message

    Hi ,
    trying to understand message see in the logging log -
    DAEMON-3-SYSTEM_MSG: netsnmp_check_tcp_session_for_user : Cache found for user (username).
    Thanks

    You can rely on the JMS provider to take care of it's own failures. However, please note that the JMS provider can fail right after you have successfully done your work in onMessage - but before the message acknowledgement happens. This means that in case of failure, you may get the last consumed message again.
    Also note that different JMS providers will handle RuntimeException's raised from onMessage differently, so check your vendor's documentation. After a couple of re-tries, your JMS provider might for instance deem that the receiver/subscriber has a problem consuming said message and move the message into an error queue.
    - Bjarne.

  • Adobe Genuine Software Validation Failure

    Can't download Adobe Application Manager. Keep getting "Adobe Genuine Software Validation Failure: The product you are trying to install is not an Adobe Genuine Software and appears to be counterfeit." What do I do? I've tried several times and I keep getting the same thing.

    Check this link, it may help :-
    http://helpx.adobe.com/x-productkb/global/digital-certificate-revoked-aam.html

  • Form Validation Failure

    Hi,
    When trying to use PPR on radio buttons to make a field mandatory.
    when I am deselecting to change criteria I am facing Form Validation Failure error.
    why this error will come.
    Krishna

    Hi Anil,
    Thanks for the reply
    after setting
    Disable Client Side Validation and Disable Server Side Validation Property to "True"
    the issue is resolved.
    Krishna

  • "Adobe Genuine Software Validation Failure" error?

    I just purchased InDesign and am trying to download it, but get this crazy error msg...
    "Adobe genuine software validation failure. The product you are trying to install is not an Adobe Genuine software and it appears to be counterfeit."
    And it doesn't give me any more options.
    Can you please let me know what to do? How can a product from its own site be "counterfeit"?

    Warning: "Adobe Genuine Software Validation Failure..." | Windows

  • Trying to understand iMac 10.6.8 better and find out if someone is spying on my computer.

    Would like to find out if my computer is being spied on. Trying to understand info in "About my mac" means. Came across something in software Extensions...MACFramework: It says: Version: 10.8.0, Get Info String: MAC Framework Pseudoextension, SPARTA, Inc, 10.8.0, Kind: Universal,
    Location: /System/Library/Extensions/System.kext/Plugins/MACFramework.kext, Kext Version: 10.8.0, Load Address: (built-in to the kernel), Valid: Yes,
    Authentic: Yes, Dependencies: Satisfied.
    What does this mean?
    How/Where and What do I look for to see if someone is spying on my computer? And if so how do I remove it?

    The Mandatory Access Control Framework is part of OS X, and is not spyware.
    If you want to know if someone is spying on your computer, install Little Snitch. It will tell you when anything new is trying to send something outside of your system.

  • Hello, World - trying to understand the steps

    Hello, Experts!
    I am pretty new to Flash Development, so I am trying to understand how to implement the following steps using Flash environment
    http://pdfdevjunkie.host.adobe.com/00_helloWorld.shtml         
    Step 1: Create the top level object. Use a "Module" rather than an "Application" and implement the "acrobat.collection.INavigator" interface. The INavigator interface enables the initial hand shake with the Acrobat ActionScript API. Its only member is the set host function, which your application implements. During the initialize cycle, the Acrobat ActionScript API invokes your set host function. Your set host function then initializes itself, can add event listeners, and performs other setup tasks.Your code might look something like this.
    <mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" implements="acrobat.collection.INavigator" height="100%" width="100%" horizontalScrollPolicy="off" verticalScrollPolicy="off" >
    Step 2: Create your user interface elements. In this example, I'm using a "DataGrid" which is overkill for a simple list but I'm going to expand on this example in the future. Also notice that I'm using "fileName" in the dataField. The "fileName" is a property of an item in the PDF Portfolio "items" collection. Later when we set the dataProvider of the DataGrid, the grid will fill with the fileNames of the files in the Portfolio.
    <mx:DataGrid id="itemList" initialize="onInitialize()" width="350" rowCount="12"> <mx:columns> <mx:DataGridColumn dataField="fileName" headerText="Name"/> </mx:columns> </mx:DataGrid>
    Step 3: Respond to the "initialize" event during the creation of your interface components. This is important because there is no coordination of the Flash Player's initialization of your UI components and the set host(), so these two important milestone events in your Navigator's startup phase could occur in either order. The gist of a good way to handler this race condition is to have both your INavigator.set host() implementation and your initialize() or creationComplete() handler both funnel into a common function that starts interacting with the collection only after you have a non-null host and an initialized UI. You'll see in the code samples below and in step 4, both events funnel into the "startEverything()" function. I'll duscuss that function in the 5th step.
                   private function onInitialize():void { _listInitialized = true; startEverything(); }

    Hello, Experts!
    I am pretty new to Flash Development, so I am trying to understand how to implement the following steps using Flash environment
    http://pdfdevjunkie.host.adobe.com/00_helloWorld.shtml         
    Step 1: Create the top level object. Use a "Module" rather than an "Application" and implement the "acrobat.collection.INavigator" interface. The INavigator interface enables the initial hand shake with the Acrobat ActionScript API. Its only member is the set host function, which your application implements. During the initialize cycle, the Acrobat ActionScript API invokes your set host function. Your set host function then initializes itself, can add event listeners, and performs other setup tasks.Your code might look something like this.
    <mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" implements="acrobat.collection.INavigator" height="100%" width="100%" horizontalScrollPolicy="off" verticalScrollPolicy="off" >
    Step 2: Create your user interface elements. In this example, I'm using a "DataGrid" which is overkill for a simple list but I'm going to expand on this example in the future. Also notice that I'm using "fileName" in the dataField. The "fileName" is a property of an item in the PDF Portfolio "items" collection. Later when we set the dataProvider of the DataGrid, the grid will fill with the fileNames of the files in the Portfolio.
    <mx:DataGrid id="itemList" initialize="onInitialize()" width="350" rowCount="12"> <mx:columns> <mx:DataGridColumn dataField="fileName" headerText="Name"/> </mx:columns> </mx:DataGrid>
    Step 3: Respond to the "initialize" event during the creation of your interface components. This is important because there is no coordination of the Flash Player's initialization of your UI components and the set host(), so these two important milestone events in your Navigator's startup phase could occur in either order. The gist of a good way to handler this race condition is to have both your INavigator.set host() implementation and your initialize() or creationComplete() handler both funnel into a common function that starts interacting with the collection only after you have a non-null host and an initialized UI. You'll see in the code samples below and in step 4, both events funnel into the "startEverything()" function. I'll duscuss that function in the 5th step.
                   private function onInitialize():void { _listInitialized = true; startEverything(); }

  • Trying to understand Android OS updates delays

    This is not another hate mail, it´s more about trying to understand the facts and motives regarding the OS updates (or lack of).
    Hopefully this material will arrive at someone from Sony with enough power to do something about it.
    Ever since I can remember, Sony has been THE brand for electronics. I can´t remember a TV or VCR in my house that it wasn´t Sony, and they lasted for LOTS of years.
    When a couple years ago I finally had the money (and the need) for a Smartphone, i chose the X10 Mini, which is a great little phone from a great brand, but it´s stuck at Android 2.1... which makes it a crippled android nowadays...
    It really bothered me the lack of OS updates, so I chose to buy a Galaxy Nexus, but it´s really expensive in my country. So my second option was a Galaxy Ace 2, but they haven´t arrived to my country yet, so I went with my third option: Xperia Sola, knowing beforehand that it´s a great phone, a great brand, but I might get slow OS updates.
    I bought it about 10 days ago when I saw they were starting to roll out the updates.
    10 days later I still don´t have my update. And not only that, but I don´t see much light at the end of the tunnel...
    I found a thread with the SI numbers that were updated, and there were a bunch on Oct 1, another bunch on Oct 4, and one code on Oct 8, and no other update since...
    I also read that those who did get the update, were having bugs with the OS, and also found threads from other Xperia models, whose updates began rolling 3 months ago, and there is still people who hasn´t gotten the update...
    As a customer, and a owner/CEO of a small company, I have a really hard time understanding how a HUGE company like Sony can be making such mistakes...
    I have been thinking objective reasons, and I can only think of one. I know it´s a wild guess, but I´m starting to think that our salvation might be the very thing that means our condemnation: CYANOGENMOD!!!
    Think about it: Why would Sony spend more money hiring twice as much programmers, when they can make only one update per phone, and sit down and see how CM releases begin to appear, for all tastes and needs. And... IT´s FREE!!!
    Also, if there is a software related problem (way more likely than a hardware problem), then the CM developers take the fall, instead of Sony. And I´m beginning to see custom OS installers that are more user friendly, so it might be something that they take in accout when neglecting OS updates.
    If that´s the line Sony is following, it´s a very risky move and it won´t work. Sony Mobile will crash and burn, but it´s still a better business plan that "let´s get lazy and make ULTRA slow updates so we don´t spend a lot of money programming".
    If you can´t afford more programmers, stop including so much bells and whistles and make your OS near vanilla. Include a couple of Xperia menus, a custom theme and voila!
    The main reason I wanted the Galaxy Nexus is Vanilla OS, which means inmediate OS updates. Sony on the other hand, takes a year or two to release it after its launch. If they release it at all...
    Another though...  why not stop making that many different phones! Really! There are like 5 Xperia models i can´t tell one from the other... even with specs side by side!
    You are trying to make too many phones and you are failing with all of them! (Software and software updates are also part of the phone, one of the most importants...)
    I know hiring programmers is expensive, but you are sacrificing one of the most expensive values for a company EVER: Customer credibility! Which as you know better than me, takes years to create.
    If Apple had problems with carriers and code aprooving and stuff, they might get away with it, becouse they alone have all the devices. If iOS 6 is delayed a few months, it´s delayed for everyone, and besides Apple fanboys rarely complain about Mac products, but Android is a more independent and educated market.
    I´m not saying that Apple users are ignorant, not at all, but I´m pretty sure most iPhone owners don´t even know what processor or how much RAM their phone has. They just "swallow" the Apple Way of Life. (it´s a good phone becouse Apple says so).
    The Android user on the other side, because of the fragmentation of the market, has many brands and models to choose from. An Android user about to buy a new phone will most likely go online looking for different models, specs, reviews in webs and forums...etc.
    You can´t say "I don´t know how HTC and other companies get their updates so soon, but we take a lot more becouse Google and the Operators must aproove the code.", because there are many other brands that have exactly the same difficulties or more, since they are smaller, and we can SEE online that they are indeed delivering solid and relativly fast updates.
    Did we miss something? Does HTC use Witchcraft to get their code aprooved?
    My underlying point is this: You are getting lazy... VERY lazy with software programming for your phones, and WE KNOW IT!
    It´s not the "difficulties" you claim, becouse every brand has those difficulties.
    This isn´t 1999 you know. We are in the information age. If you lie to us and tell us that your phones have the latest OS, I can go online and see that you don´t (Hello!!!). If I see that the company lies to it´s customers, I will stop buying their products. If I´m so dissapointed with how Sony handles OS updates and their customers queries about it, then I want for the first time ever to sell my Cell Phone becouse I´m not happy with it, or the brand behind it.
    We also live in the "Here and now" age. You can´t expect your customers to read about new Android releases on news and blogs, and wait YEARS with arms crossed waiting for their update... The world doesn´t work like that. Not anymore at least...
    It´s not a matter of how many recources you have, it´s about how you use and balance them. GIVE MORE IMPORTANCE TO SOFTWARE UPDATES! IT´S WAY MORE IMPORTANT THAT YOU THINK! LISTEN TO YOUR CUSTOMERS!!!
    You guys are Sony are smart and design great products, but you are not GOD! You are not our wife, no one has sworn alliagence to you.
    If you stop giving us good products and start lying to us, we hate you and stop giving you our money. Simple as that.
    My sola is beatiful, I love the design, the screen, the hardware... but it hasn´t been updated yet to 4.0, not to mention 4.1, which REALLY is the latest version... so stop advertising that your phones have the latest Android OS, unless you want angry customers switching to other companies, which you are getting.
    I also read some stories that Androind 4.0 was announced for the Xperia PLAY, and then it was called off... Do you have any idea how pissed I would be and ripped off I would be if I bought my phone based in that information and then you say it won´t be available?
    Well, actually right now my possition is worse, since you SAY you will update my phone, but you don´t say when, and I read online about people still not getting their updates months after the rollout started, so I´m in the limbo right now...
    As a company, one of the worse things you can do is calling your customers stupid, and when I see the answers you give in this forum, then I feel insulted. I feel like they are talking to an idiot or ignorant person with the so called "diplomatic" answers, which are basicly empty excuses for not doing your job right.
    You gave us the frikking CDs, DVDs and Blu-Rays!!! Don´t tell us you can´t tweak an already built OS in a year!
    I really hope you change their OS update policies really soon, before you lose the already small cellphone market share you have, or at least change your P.R. and C.M. policies towards a more open one.
    We all are humans and make mistakes, but we customers really appreciate honesty and truth.
    Have an open conversation with your customers! Don´t lie about your shortcomings! Accept then and ask the community to help you solve them, ask them what they biggest problems are, what features are most important to them, how often do they expect updates... LISTEN TO THEM!!
    "Succes is a meneace. It tricks smart people into thinking they can´t lose."
    Ps: Nothing personal with the mods from this forum, I´m not killing the messenger, I know that you can ONLY give the info you are allowed to give, and even if you wanted, you probably don´t know the answers yourself, since you work in the Communications department, not Developement or anything technical, and if you can't give any given info, then they probably won´t give it to you either... My message is to the company as a whole. I just hope you will be a good messenger and give this to whoever needs to read it.

    My bad, it´s closer to 40 the number of phones released hehe
    I know it´s all about money, and I know Sony is obligated to neglect users who haven´t given them money after an x ammount of time. However, it´s not a matter of making the phones obsolete earlier, so the users want to buy a new phone faster and therefore getting more money.
    A person will buy a new phone when he/she has the money to do so and wants to do so.
    It´s not a matter of WHEN. It´s a matter of WHAT.
    The question is not "When will that user buy a new phone?", but rather "When that user buys a new phone, whenever that is, what phone will it be?"
    I have a love/hate relationship with Apple. I would never use a iPhone. I would love having any Mac, if someone gives it to me, but I would never spend my harn earned dollars on such an overpriced piece of hardware over general principals.
    However, i do recognice that Steve Jobs was a business genius. Weather you like or love his ideas and methods, he turned a garage project into the biggest company in the world, with a market value higher than Exxon with 1/3 of it´s assets.
    Apple is a money making machine, and that is where the "hate" part of my relationship comes from.
    However, it surprised me a lot to see that they released iOS 6 for the iPhone 3GS, released in 2008!
    That get´s you thinking, that inside all that "SELL NOW" culture Apple is, they also support their older devices that people bought years ago but can't buy a new phone now. However, when they can do it, it will surely be another iPhone. Because they FEEL that the company listens and cares for them.
    Also if you jump from iOS 6 on the 3 GS to a brand new iPhone 5, the transition will be virtually non-existant, except for Siri and a couple of features.
    However jumping from Android 1.5 or 2.1 to Jelly Bean, might not be so easy on some users, making them more likely to give iPhone a shot.
    Since they have to adapt to another phone anyway, they might as well try the apple...
    And for old users, it gives people a sense of continuity and care about the user. Otherwise we feel like being kicked out of a restaurant right after we payed the bill.

  • Trying to understand OIM - Please help

    Hello All,
    I am pretty new to OIM, just trying to understand how OIM works. For the past 4 years I was in Sun IdM and planning to switch over to OIM.
    I read some documentation, I think OIM will perform basic provisioning and it contains out of box connectors to do basic provisoning. I have some questions can anybody please help
    - Sun IdM uses Express language to develop custom workflows or forms, in OIM to develop workflows which language did you use, is it Java or any other language?
    - If I want to provision users on AS/400, HP Open VMS or AIX systems, how can I do that I don't see any out of box connectors for these resources, so in order to integrate these resources do we need to write our own custom connectors?
    - If the out of box connector does not support a specific function on a resource what are the options do we have? for example if the AD connector does not support to delete the exchange mailbox, how your going to perform this in OIM? Do we need to write a Java code for this?
    - How much Java coding is necessary in OIM?
    - Is OIM supports role based provisioning?
    Please share any information.
    Thanks in advance.

    Sun IdM uses Express language to develop custom workflows or forms, in OIM to develop workflows which language did you use, is it Java or any other language?
    - JAVA
    If I want to provision users on AS/400, HP Open VMS or AIX systems, how can I do that I don't see any out of box connectors for these resources, so in order to integrate these resources do we need to write our own custom connectors?
    - If OOTB connectors are not available then you'll have build you own connector as per Target Resource.
    If the out of box connector does not support a specific function on a resource what are the options do we have?
    - You'll have customize their connector as per your requirements or write your own
    How much Java coding is necessary in OIM?
    - We can't calculate how much java. It's totally depends on requirements how much code you'll ahve to write. But everything will be done using Java only.
    - Is OIM supports role based provisioning?
    Here Group represent Role. At a small scale it supports. But for large scale you'll have to use Oracle Role Manager as you do in Sun Role Manager.

  • Trying to understand, being prompted the file compression rules on saving, or not

    Hello,
    I'm trying to understand something, could I ask for your help, please ?
    After working on a jpg file, when I want to save it, still as jpg, with my Photoshop CS5,
    - sometimes photoshop will just save the picture, and it's done
    - sometimes photoshop will show me the compression dialog, "JPEG Options", in which I can choose the compression ratio, the format options (baseline, baseline optimized, progressive), and have an estimation of the total file size
    While not being prompted any dialog is simpler, and I'll then simply assume Photoshop decides to retain the current image's compression and format rules, I must say I like to be in control, and I'd like to know under what form the file is being saved without having to resort to the much more complex "Save For Web" menu.
    Please, would you know WHAT "triggers" the appearance of the JPEG Options when we close/save a jpeg file, in photoshop ? What makes this menu not to appear, what makes it appear ?
    If there are trivial file operations/changes/filters that necessarily trigger its appearance when we want to save, something like that ? I've tried a variety of these, but I still can't figure it out, sometimes it shows in the end, and sometimes it doesn't.
    Thank you very much if you can help me
    Kind regards,
    Oliver

    @ c.pfaffenbichler
    These are images from various sources, not just one.
    I'm deliberately excluding Save For Web, this completely re-processes everything.
    My purpose, precisely, is to know when photoshop takes the decision to retain the image's "rules", and when photoshop decides to pose us the question, how do we want it saved.
    Simply taking a jpeg image, doing stuff on it, and hitting control-w to close the window, and seeing if it will be an
    - «OK, sure, do you want to save ? You clicked OK to confirm you wanted the changes saved ? Good, now it's closed» or a
    - «please sir, how would you like your image saved, tell me the compression ratio and the format options, thank you»

Maybe you are looking for

  • Use of variables in cross tab

    Hi experts, Can anyone tell me how to use a variable in cross-tab? I am populating the crosstab from the columns of a table. I want to use a variable (say percentage of averages) which calculates for each month for any number of months the data has b

  • Where is the Personal Hotspot option on iPad 3rd generation

    Dear all, I have an iPad 3rd generation 64GB (Wifi+Cellular). It seems that the Personal Hotspot option is not existed!! Note: My iPhone 4S is on the same cellular data plan (unlimited) with the same carrier provider and I am able to use & share the

  • Looking for a nice book for RAC

    Please, Does someone advice me a nice and simple book to get started with RAC?(Real Appication Clustering ) on Oracle 10g? I'll be involved into a long and nice project, with RAC so I need to know more before going for training(if given by my boss) T

  • Create a DVD from Motion in Kiosk mode?

    I have created a show in Motion 5 that will be shown at a memorial service. It has to be a DVD and it has to loop automatically (Kiosk). I know I can create the DVD directly from Motion or export the show to Compressor (I don't think there's any diff

  • Quicktime not smooth between Slide Transitions...Quicktime

    Aloha from Maui: My exported slide show to Quicktime is not smooth in Quicktime playback? Mahalo. Marty from Maui