from_openid_request (OpenID::AX::FetchRequest)

    # File lib/openid/extensions/ax.rb, line 180
          def self.from_openid_request(oidreq)
            message = oidreq.message
            ax_args = message.get_args(NS_URI)
            return nil if ax_args == {}
            req = new
            req.parse_extension_args(ax_args)

            if req.update_url
              realm = message.get_arg(OPENID_NS, 'realm',
                                      message.get_arg(OPENID_NS, 'return_to'))
              if realm.nil? or realm.empty?
                raise Error, "Cannot validate update_url #{req.update_url.inspect} against absent realm"
              end
              tr = TrustRoot::TrustRoot.parse(realm)
              unless tr.validate_url(req.update_url)
                raise Error, "Update URL #{req.update_url.inspect} failed validation against realm #{realm.inspect}"
              end
            end

            return req
          end